Implemented forward checking and variations on select unassigned for backtracking.