Project Euler 462

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

67着。0.1s。雑に書いたので、もっと速くなるはず。
帰りに手を動かしていて、今までほとんど考えていなかった筋を探ってみた。しかしよくわからなかったので、非常に簡単な例を調べてみた。この場合一般解が求まる。それをいじっていたら、そのうちに本当の一般解らしきものが見つかった。これでF(20)を計算すると、確かに正しい答えが出る。理屈は全くわからない。
帰って正確な解を出した。しかし、これを指数にするのはサッとはできない。それでも少し頑張ればできる。
少し工夫して、0.01sにした。