> For the complete documentation index, see [llms.txt](https://project-euler-ja.gitbook.io/project-euler-ja/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://project-euler-ja.gitbook.io/project-euler-ja/201-300/291-300/p299.md).

# 299 : 3つの相似三角形

整数の座標をもつ4点が選ばれる：\
A(a, 0), B(b, 0), C(0, c), D(0, d) (0 < a < b かつ 0 < c < d) である。\
線分AC上に、整数の座標をもつ点Pを、3つの三角形ABP, CDP, BDPが全て相似となるように選ぶ。

![](/files/-MifVTHSdkhpkbvNF0ys)

a = c のときにのみ3つの三角形が相似となり得ることは容易に証明できる。

そこで、a = c とし、3つの三角形ABP, CDP, BDPが全て相似となる点P（整数の座標をもつ）が少なくとも1つ存在するような3数の組 (a,b,d) を探すことにする。

例えば、(a,b,d) = (2,3,4) ならば、点P(1,1)が上の条件を満たすことが容易に確かめられる。3数の組 (2,3,4) と (2,4,3) は、点 P(1,1) は両者で共通ではあるが、異なるものとしてみなすことに注意。

b+d < 100 の場合、点Pが存在する異なる3数の組 (a,b,d) は92個ある。\
b+d < 100,000 の場合、点Pが存在する異なる3数の組 (a,b,d) は320471個ある。\
b+d < 100,000,000 の場合、点Pが存在する異なる3数の組 (a,b,d) は何個あるか。
