Working through the projecteuler.net challenges