Solución. Haciendo $x=y=1$, obtenemos $f(f(1))=f(1)$ pero $f$ es inyectiva al tratarse de una función estrictamente creciente, luego $f(1)=1$. Haciendo $y=f(x)$ en la ecuación, tenemos que
\[f(f(x)^2)=x^2f(xf(x))=x^4f(x^2).\]
Haciendo ahora $y=1$ en la ecuación y cambiando $x$ por $x^2$, tenemos que $f(f(x^2))=x^4f(x^2)$, luego deducimos que $f(f(x)^2)=f(f(x^2))$ y de la inyectividad obtenemos que $f(x)^2=f(x^2)$. Veamos que la única solución posible es $f(x)=x^2$ para todo $x$, para lo que razonaremos por reducción al absurdo, distinguiendo dos casos:
- Si $f(x)\gt x^2$ para algún $x$, entonces podemos usar la monotonía para llegar a que
\[x^2f(x)=f(f(x))\gt f(x^2)=f(x)^2,\]
luego $f(x)\lt x^2$ (ya que $f(x)\neq 0$)), que es obviamente un absurdo.
- Si $f(x)\lt x^2$ para algún $x$, podemos razonar de forma similar para obtener que
\[x^2f(x)=f(f(x))\lt f(x^2)=f(x)^2,\]
luego $f(x)\gt x^2$ y también tenemos una contradicción.
Nota. ¿Qué ocurre si exigimos que $f:\mathbb{Z}\to\mathbb{Z}$, $f:\mathbb{Q}\to\mathbb{Q}$ o $f:\mathbb{R}\to\mathbb{R}$ con las mismas condiciones?