finished problem 18 and 67 (dynamic programming)