haskell difference-of-squares