Add solution to problem 21