{- What is the difference between the sum of the squares and the square of the sums? The sum of the squares of the first ten natural numbers is, 12 + 22 + ... + 102 = 385 The square of the sum of the first ten natural numbers is, (1 + 2 + ... + 10)2 = 552 = 3025 Hence the difference between the sum of the squares of the first ten natural numbers and the square of the sum is 3025 385 = 2640. Find the difference between the sum of the squares of the first one hundred natural numbers and the square of the sum. -} import Text.Printf squarediff n = do let squares = sum (map (^2) [1..n]) let sums = sum [1..n] ^ 2 sums - squares main = do printf "Difference between the sum of the squares and square of the sum of the first ten natural numbers is: %d\n" (squarediff 10 :: Integer) printf "Difference between the sum of the squares and square of the sum of the first hundred natural numbers is: %d\n" (squarediff 100 :: Integer)