https://mapagam.com/datastructures-algorithms/algorithm-patterns/using-backtracking-pattern
Using Backtracking Pattern