solution code for projecteuler.net problems