my projecteuler.net solutions