project euler problem 9

ピタゴラスの三つ組(ピタゴラスの定理を満たす自然数)とはa<b<cで
a? + b? = c?
を満たす数の組である.

例えば, 3? + 4? = 9 + 16 = 25 = 5?である.

a + b + c = 1000となるピタゴラスの三つ組が一つだけ存在する. このa,b,cの積を計算しなさい.

昨日id:nobsun さんに教えてもらった内包表記中のletと比較で

main=print [(a,b,c,p)|a<-[2..999],b<-[2..999],a<b,let c=1000-a-b,a^2+b^2==c^2,let p=a*b*c]

なんか内包表記でやるとずるい気がするなぁ。
まあいいか。