solving projecteuler.net problems