The projecteuler.net solutions.