The largest root of a recursively defined polynomial

We can start by proving that for all $k\ge1$ $$ f_k(x)=k!\cdot(x-x_0)\cdots(x-x_k) $$ where $$ 0=x_0=x_1<x_2<\cdots<x_k<1. $$ Let's assume this holds for $f_k$ and prove it for $f_{k+1}$.

First, we may note that the derivative $$ f_k'(x)=(k+1)!\cdot(x-y_1)\cdots(x-y_k) $$ where $$ 0=x_0=y_1=x_1<y_2<\cdots<y_k<x_k<1. $$ The $y_1=0$ follows from the double root at zero; the $x_{j-1}<y_j<x_j$ for $j>1$ follows from $f_k(x_{j-1})=f_k(x_j)=0$, alternatively from observing that $f_k'(x_{j-1})$ and $f_k'(x_j)$ have different signs.

The rest simply boils down to observing that the sign of $x(1-x)f_k'(x)$ at the points $x_j$ alternates between positive and negative. Since $f_k(x)$ is zero at all $x_j$, $f_{k+1}(x_j)=x_j(x_j-1)f_k'(x_j)$ also has alternating sign along the points $x_2,\ldots,x_k,1$: ie, $f_{k+1}(1)>0$, $f_{k+1}(x_k)<0$, etc. Thus, $f_{k+1}(x)$ must have zeroes between the points $0=x_1,x_2,\ldots,x_k,1$: say at $z_j$ where $$ 0=z_0=x_0=z_1=x_1<z_2<x_2<\cdots<x_k<z_{k-1}<1 $$ where I have included the double root at zero which is easy to check. There can be no more roots than this due to the degree of $f_{k+1}$.

There's a little extra checking for $y_2$ and $z_2$ because of the double root at zero which makes the sign argument fail there. Alternatively, you could redo the entire argument for $0=x_0<x_1<\cdots$ and just take the limit as $x_1\rightarrow0$.

This proves points (1) and (3). What remains is point (2): that the top root converges to 1.

You have already observed that $f_k(1)=1$ for all $k$. This makes $$ (1-x_2)\cdots(1-x_k)=\frac{f_k(1)}{k!}=\frac{1}{k!} $$ where I ignore the two zero-roots. Since $0<x_j<x_k$ for $j=2$ to $k-1$, this makes $(1-x_k)^{k-1}<1/k!$, which makes $1-x_k<(k!)^{-1/(k-1)}$ which drops towards zero as $k$ increases.


Previous proof of (2) in case of interest:

Recall that, in addition to the two roots at zero, $f_{k+1}$ had roots $z_2,\ldots,z_k,z_{k+1}$ where $z_j<x_j$ for $j=2$ to $k$, so this makes $$ \frac{1}{(k+1)!}=(1-z_2)\cdots(1-z_{k+1}) >(1-x_2)\cdots(1-x_k)(1-z_k)=\frac{1-z_{k+1}}{k!} $$ which makes $1-z_{k+1}<1/(k+1)$. So in general, we get that the top root satisfies $\underline{x}_n>1-1/n$.


Origin of proof

In case someone wonder which hat I pulled this rabbit out of. I was already familiar with this method for proving that polynomials defined recursively like this have distinct roots (in a case where we didn't have the double root at zero). I may have made a slip-up from thinking, throughout writing the main part of the proof, that was what point (1) was.

Thinking about it, I suppose when the only interest is the top root, the argument could be simplified to address only this, not all the lower roots as well.