problems 64-75
problem 75 improved performance
problem 76-78, 78 as a brute force