Functional equation by me!

Find all functions $$f:\mathbb{R}\rightarrow\mathbb{R}$$ such that $$f(x)f(x+y)=xf(x)+f\big(f(x)\big)f(y)$$ for all $$x,y\in\mathbb R$$.

Source: Problem by me.

• This is more strictly a math olympiad question rather than a puzzle. There is no appropriate site for such creations as of yet, so it is better suited somewhere else. Jun 6 '20 at 23:14
• @Nij, these are not math textbook style. Jun 7 '20 at 3:09
• @Nij, this is a Math Olympiad style problem, way far than math textbook kind of problem. Jun 7 '20 at 3:12
• @Nij This question is very clearly on topic. Textbook problems are mostly those where you can just follow an algorithm to solve it. This is a maths puzzle that requires you to think outside the box. I'd argue that most Math Olympiad questions are more puzzles than problems. puzzling.meta.stackexchange.com/questions/2783/… Jun 7 '20 at 9:39
• @Nij: Not trying to defend the quality of my solution, but I can say for sure that what I wrote in my answer only included half the things I tried. I agree that no particular step requires anything beyond basic algebra, but finding the correct sequence of steps was non-trivial, at least for me. Maybe I should have written it better, but I absolutely did have a bit of "aha" once I struck on the correct path. Jun 7 '20 at 22:00

The set of functions which satisfy the functional equation is:

the all zero function and the identity function. Let $$g$$ be a function satisfying the relationship, and first let $$x=y=0$$. Then we have $$g(0)^2 = 0 + g(g(0)) \times g(0)$$ This implies either $$g(0) = 0$$ or $$g(g(0)) = g(0)$$.

In either case:

$$\lambda = g(0)$$ is a fixed point of $$g$$, or in other words $$g(\lambda) = \lambda$$. Let $$x=\lambda$$ and $$y=0$$, in which case we have $$g(\lambda)g(\lambda) = \lambda g(\lambda) + g(g(\lambda))g(0)$$ This gives the equality $$\lambda^2 = 2\lambda^2$$ which forces $$\lambda = 0$$.

With this knowledge:

let $$x$$ be any real and let $$y=0$$. This forces $$g(x)^2 = xg(x)$$ for all real $$x$$, which implies either $$g(x) = 0$$ or $$g(x) = x$$ for all real $$x$$. This implies either $$g$$ is the zero function, which one can easily check satisfies the condition above, or there exists $$\mu \neq 0$$ such that $$g(\mu) = \mu$$.

Finally:

Let $$y$$ be any real such that $$g(y) = 0$$. Then we have $$g(\mu)g(\mu+y) = \mu g(\mu) + g(g(\mu))g(y)$$ which implies $$\mu g(\mu+y) = \mu^2$$ and thus $$g(\mu+y) = \mu$$ since $$\mu \neq 0$$. Since $$\mu \neq 0$$ this forces $$\mu + y = \mu$$, which forces $$y=0$$. Thus $$g(x) = x$$ for all real $$x$$ and $$g$$ is the identity function. Again it is easy to check this satisfies the condition above.