ScalaでProject Euler(141)

Problem 94

等辺以外の辺の長さは偶数です。奇数だとすると三角形を対称軸で半分に割った三角形の各辺を2倍した直角三角形の斜辺は偶数で、別の辺は奇数です。そうするともう一つの辺の平方は4の剰余が3となって矛盾です。そこで先ほどの辺を2bとして等辺をaとすると、

a = 2b ± 1

です。半分の三角形のもう一つの辺をhとすると、

a2 = b2 + h2
(2b ± 1)2 = b2 + h2
3b2 ±4b + 1 = h2
(3b ± 2)2 - 3h2 = 1

とPell方程式になります。x2 - 3y2 = 1の整数解はxは必ず3の剰余が1か2です。だから、3b ± 2は整数に成り得ます。