main :: IO () main = putStr $ show $ solve 1000 -- Brute search because don't care 🧌 solve :: Integer -> Integer solve p = head [a * b * c | a <- [1 .. p], b <- [a + 1 .. p], let c = p - a - b, c > 0 && c ^ 2 == a ^ 2 + b ^ 2]