Problem 138

Problem 138 - Project Euler

底辺bの長さが16、斜辺Lの長さが17の二等辺三角形を考える。
ピタゴラスの定理によれば、この二等辺三角形の高さhはと求められる。この場合hはbよりも長さが1だけ短い。
b = 272, L=305とすると、h = 273であり、hはbより1だけ長い。また、これはとなるような二等辺三角形のうち2番目に小さいものである。
, b, Lが全て正整数であるとし、小さいものから12個の二等辺三角形についてを求めよ。

で、hとb/2がピタゴラス数(c.f.ピタゴラスの定理 - Wikipedia)のうち2つなので、

と書き換えられて、これを整理すると結局

というペル方程式が出てくる。最小解(2, 1)から順にLを計算していけばおわり。
140μsくらい。

x <- 2
y <- 1
sumL <- 0
for(i in 1:12){
  sumL <- sumL + (x + 2 * y)^2 + y^2
  oldx <- x
  x <- 2 * x + 5 * y
  y <- oldx + 2 * y
}
as.character(sumL)