Sudoku solver - constraint propogation added