Casey Muller - Problem Set #9
Source code