Suppose I have overhand blocks $1,2,3$ up to $n$ units long, one of each kind. They are stacked over the table from smallest to largest so that their left edge alligns. Show if it is stable.

Progress: I define $d_n$ to be the center of mass of the first $n$ blocks, with the leftmost as $0$ coordinate. The recurrence relation I found is $$(n+1)d_n=(n-1)d_{n-1}+n.$$
I am not sure if I am correct, can anyone tell me? Besides, if there any easy way to solve this recurrence?
You did get the right recurrence relation, but it might be easier to find $d_n$ directly instead of recursively.
If we have $n$ objects of mass $m_1, m_2, \ldots, m_n$ and center of mass $x_1, x_2, \ldots, x_n$, then the center of mass of the $n$ object put together is $\dfrac{m_1x_1+m_2x_2+\cdots+m_nx_n}{m_1+m_2+\cdots+m_n}$.
Here, the $k$-th block has mass $m_k = k$ and center of mass $x_k = \dfrac{k}{2}$. Hence, the center of mass of the first $n$ blocks is $d_n = \dfrac{m_1x_1+m_2x_2+\cdots+m_nx_n}{m_1+m_2+\cdots+m_n}$ $= \dfrac{1 \cdot \tfrac{1}{2} + 2 \cdot \tfrac{2}{2} + \cdots + n \cdot \tfrac{n}{2}}{1+2+\cdots+n}$ $= \dfrac{\tfrac{1}{2}(1^2+2^2+\cdots+n^2)}{1+2+\cdots+n}$ $= \dfrac{\tfrac{1}{2} \cdot \tfrac{n(n+1)(2n+1)}{6}}{\tfrac{n(n+1)}{2}}$ $= \dfrac{2n+1}{6}$.