code for projecteuler.net problems