This is the problem that inspired me to think seriously about the advantage of an “algorithmic” construction over an explicit / naive inductive one.
Problem. Suppose that $\{a_i\}$ is a sequence of positive integers satisfying $a_{(m,n)}=(a_m,a_n)$. Prove that there exists a sequence of positive integers $\{b_n\}$ such that $$\prod_{d|n} b_d = a_n$$
Solution. We will construct the sequence $b_n$ iteratively by making small decremental changes to $a_i$. That is, for each $t\in\mathbb{N}$ (thought of as a time variable), we will construct sequences $\{a_n(t)\},\{b_n(t)\}$ as follows:
$$\{a_i(1)\} = \{a_i\}, \quad \{b_i(1)\} = \{1,1,...\}$$
At each step, we will attempt to preserve the following facts:
which are both initially true. Eventually, we hope that the sequence $\{a_i\}$ “converges” to $\{1,1,...\}$ and $\{b_i\}$ “converges” to anything at all. By converge, we mean that for each $i$, $a_i(t)$ (and similarly for $b_i(t)$) stays the same for sufficiently large $t$. Subsequently, taking sufficiently large $t$ we get our construction for $\{b_i\}$.
The time evolution rule is as follows: at a given time $t$, let $i$ be the smallest index for which $k=a_i(t)> 1$. Then, we let: $$a_j(t+1) = \begin{cases}a_j(t) \text{ if }i\nmid j\\ a_j(t) / k \text{ if } i\mid j\end{cases}$$ $$b_j(t+1) = \begin{cases} k b_j(t) \text{ if } i = j \\ b_j(t) \text{ otherwise}\end{cases}$$
Now we verify that both rules are preserved. Given $m,n$, the first rule is affected as follows:
Also, for each $n$, the second rule is affected as follows:
Finally, it is obvious that $a_n(t) = 1$ while $b_n(t)$ stays constant for all $t\ge n$ (because then at least the first $n$ terms of $\{a_i(t)\}$ are 1, so $i\ge n+1$ and will not affect both $a_n(t),b_n(t)$). So define $b_n = b_n(n)$ and the conclusion follows.