http://projecteuler.net/index.php?section=problems&id=100
Pell方程式に帰着される。
pells x = (f x):[ f y | y <- pells x ] where f (a,b) = (a * 3 + b * 4, a * 2 + b * 3) solutions = [ (div (b + 1) 2, div (a + 1) 2) | (a,b) <- pells (1,1) ] limit = 10^12 main = print (head [ fst x | x <- solutions, snd x > limit ])
これで終わりにしたかったが、未だにHaskellが思うように書けないので、しばらくしたら再開するかも。