Solution for Exercise 10.7 This is a solution for Exercise 10.7. See the source code for this file for details.