Assignment #2 - Recursion and Backtracking Solution