add some extra challenge to haskell difference-of-squares