Project Euler 502(1)

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

昨日から考え直している。前の方法はほぼ捨てて、なるべく違う方法をと考えた。
昨日の帰り電車降りる間際に高さが低い時の解法を思いついた。そして、今朝の電車の中でちゃんと整理して、帰ってから組んでみたら、F(10^12, 100)が60秒で出た。O(H^3logW)のはず。