Project Euler 560

http://projecteuler.net/index.php?section=problems&id=560

29着。
データの特徴を使って、なんとか日曜のうちに解いた。
フォーラムを見ると、全く違う回答ばかりだった。その中のキーワードを拾って、調べて、がんばってコードを組んでみたら、少し速くなった。
しかし、よくよく考えると、上の2つを組み合わせれば速くなりそうだ。それで後半の部分が速くなった。前半の部分もネットを探ったら速くなった。

速度は、以外にもPyPyよりPythonの方が少なかった。恐らく辞書を使ったからだろう。あと、32ビットに収まらないと極端に遅くなる。64ビット版なら速いかもしれない。

10^7  994345168   0.06sec
10^8  176089350   0.24sec
10^9  987982790   1.12sec
10^10 220288316   9.03sec
10^11 326833636  46.16sec
10^12  13685133 230.11sec

フォーラムに書いた。