CodeEval 75,76,78,89; PEuler 41,42,43
CodeEval 80,81,84,98,101,128; PEuler 44,45