module DifferenceOfSquares (..) where


squareOfSum : Int -> Int
squareOfSum n =
  let
    sum =
      n * (n + 1) // 2
  in
    sum * sum


sumOfSquares : Int -> Int
sumOfSquares n =
  List.sum (List.map (\m -> m * m) [0..n])


difference : Int -> Int
difference n =
  squareOfSum n - sumOfSquares n