Explore choices depth-first, undoing each one when it dead-ends.
Trace a word through a grid of letters using DFS with backtracking.
Generate every subset — the canonical choose / explore / un-choose pattern.
All combinations summing to a target — numbers may be reused.