Determining all $f : \mathbb R \to \mathbb R$ that satisfy $f\bigl(xf(y)\bigr) = x^{2002}f\bigl(f(y)\bigr)$

Determine all $f : \mathbb R \to \mathbb R$ that satisfy $$f\bigl(xf(y)\bigr) = x^{2002}f\bigl(f(y)\bigr); \ \forall x,y \in \mathbb R.$$

What I know is $f(0) = 0$. I don't know how to deal with $x^{2002}$. Can anyone give me hints (or solution) please. Thank you very much!


Solution 1:

Replacing $x$ by $x/f(c)$ for some $c \in \mathbb{R}$ (where $f(c) \ne 0$) and putting $y=c$ we get: $$f(x)=x^{2002}\cdot \frac{f(f(c))}{f(c)^{2002}}=kx^{2002}$$ for some $k \in \mathbb{R}$.

Now substituting in the original equation we get that it works for all $k \in \mathbb{R}$.

Otherwise, $f(c)=0$ for all $c \in \mathbb{R}$, and substituting back it also works.

Note: that works because I originally wanted to do it with $c=1$ and then I noticed that it has to be $f(1) \ne 0$. So if $f(1)=0$ then we can choose $c=2$ where $f(2) \ne 0$, and the other case if $f(2)=0$ then we can choose another $c$, and so on until $c$ covers all reals making $f(c)=0$. I know this sounds a bit obvious, but it makes perfect sense.