Project Euler 478(2)

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

23着。
行き帰りにノートに計算して、公式を書いて、それを帰ってからコードに落としたら、遅い。O(N^2)とか。半分が遅い。もうあきらめて明日考えようと思いシャワーを浴びていると、思いついた。半分は計算しなくてもよいのだ。
結局、PyPyで5分となった。メモリはギリギリ。少し工夫してギリギリではなくなった。
最初この問題を見たときは絶望しかなかったが、冷静に考えれば解けるものだ。