solutions to the problems in projecteuler.net in haskell