Is "backward substitution" and "backtracking" the same thing?
Backward substitution is a specific method to solve a particular problem: a linear system of equations;
Backtracking is a general paradigm to design algorithms to solve constraint problems in which there can be some sense of &quot;partial solution&quot; and in which the potential invalidity of a partial solution can be tested without completing the partial solution to a complete solution.

This should answer your &quot;can the terms be used interchangeably?&quot; questions: no, they can't.
Imagine you are solving a crosswords puzzle. One algorithm would be: for each definition, find the list of possible words; then try every combination of those words and check if that combination solves the puzzle. This is a bruteforce approach and pretty inefficient. A much better approach is to use backtracking: for each definition, find the list of possible words; choose a word for the first definition; choose a word for the second definition; check immediately for any inconsistency between the two chosen words. If they are inconsistent, &quot;backtrack&quot; by choosing a different word for the second definition. If you run out of words for the second definition, &quot;backtrack&quot; even further by choosing a different word for the first definition. Only if they are consistent, move on to the third definition. This is a backtracking algorithm. Backtracking algorithms are often very straightforward to implement using recursion.
Backward substitution is a method to solve a system of linear equations. A system of linear equations is something that looks like:
a x + b y = c
d x + e y = f

As you can see it is a very specific problem. There is no notion of recursion here. Linear equations are often written in matrix form: A X = B; in my example, A = ((a b)(d e)), X = (x y) and B = (c f).
The article you linked mentioned &quot;recurrence&quot; because they had a problem with cascading linear equations; the linear equations are called a &quot;recurrence relation&quot; because they define a sequence, where X1 = A X0, X2 = A X1, X3 = A X2, etc.