Solving the functional equation $f(xy)=f(f(x)+f(y))$

Solution 1:

$$f( 0 ) = f( f(x) + f(0) )$$ Thus in particular, $f(2f(0))=f(0)$. Then let $y=2f(0)$ in the original equality, we get $$f( x \cdot 2f(0) ) = f( f(x) + f(2f(0)) ) = f( f(x) + f(0) ) = f(0)$$ If $f(0)$ is not equal to $0$, we're done.

Now assume $f(0) = 0$, and from above one obtains $f( f(x) ) = 0$. Let $y = f(1)$, leads $$f( x \cdot f(1) ) = f( f(x) + f( f(1) ) ) = f( f(x) ) = 0$$ If $f(1)$ is not equal to $0$, we're done.

While if $f(1) = 0$, then let $y=1$, and $f(x)=f( f(x) ) = 0$. Thus the only solution is constant.

Solution 2:

Injective case only: As suggested by you and in the comments, we use $\{x,y\}=\{0,1\}$:

$y=0$:

  1. $$f(0)=f\big(f(x)+f(0)\big)$$

$x=y=0$:

  1. $$f(0)=f\big(2f(0)\big)$$

so we see: $(1)=(2)$ -> $$f\big(f(x)+f(0)\big)=f\big(2f(0)\big)\\ f(x)+f(0)=2f(0)\\ f(x)=f(0)=c $$

We test what $c$ can be: $f(xy)= c = f(2c) = c$ which is true $\forall c \in \mathbb{R}$

So the only solution: $f(x)=c$ with $c \in \mathbb{R}$, (and could easily be generalized to the complex domain $f: \mathbb{C} \to \mathbb{C}$, with $c \in \mathbb{C}$).