練習問題 4.3.10

0 < a,b,c,d ≦ n
の範囲でa2 + b2 = c2 + d2を満たす本質的に異なる4つ組
(a,b,c,d)
をすべて見つけるプログラムを書け.



a == c ∧ b == d なものを省く

quadruple :: Int -> [(Int,Int,Int,Int)]
quadruple n = [(a,b,c,d) | a <- [1..n], b <- [a..n], c <- [a+1..n], d <- [c..n], a^2+b^2 == c^2+d^2 ]