Project Euler problems using Haskell