Project Euler 466

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

77着、4分。
先週の日曜日には解法を思いついていた。しかし平日はコーディングする時間が無い。昨日やっとコードを書いてあとは高速化するだけだと思っていた。今朝ある程度高速化したが、ある瞬間にやたらとメモリを食う。なぜなのかずっとわからなかったが、やっと手を抜いていたところを発見した。
次の問題が出題されるまであと30分。