euler 46 solution