Problem 44 (Project Euler) [原文]
五角数は Pn = n(3n-1)/2で生成される. 最初の10項は
1, 5, 12, 22, 35, 51, 70, 92, 117, 145, …
である.
P4 + P7 = 22 + 70 = 92 = P8である. しかし差 70 - 22 = 48は五角数ではない.
五角数のペア PjとPkについて, 差と和が五角数になるものを考える. 差を D = |Pk - Pj| と書く. 差 D の最小値を求めよ.
差と和が五角数であることを確認するのに、与式をnについての二次方程式とし、その解が整数であるか否かのブール値を返す関数を使いました。ただ、それだけでした。
Project Eulerの掲示板にはとても大きな数について実際にやってみた方による下記のような組があることが確認されています。なお、下記の記載があるページは登録会員であっても問題を解かないと閲覧できません。
12,599,537,925 - 4,123,331,135 = 8,476,206,790
12,599,537,925 + 4,123,331,135 = 16,722,869,060
and
25,038,120,207 - 8,157,450,665 = 16,880,669,542
25,038,120,207 + 8,157,450,665 = 33,195,570,872