Backtracking, also known as depth-first search or branch and bound is a general algorithmic technique that considers searching every possible combination in order to solve an optimization problem. It requires starting with one possible move out of many available moves to solve the problem. If that is not the intended solution, one needs to backtrack and select some other move and try to solve it.
Backtracking is an important tool for solving constraint satisfaction problems, such as crosswords, verbal arithmetic, Sudoku, and many other puzzles.