Forward checking
n Idea:
n Keep track of remaining legal values for unassigned variables
n Terminate search when any variable has no legal values