solutions problems from projecteuler.net