Solving the functional equation $f(xy)=f(f(x)+f(y))$ 
Find all functions from $f: \mathbb{R} \to \mathbb{R}$ such that for all $x$ and $y$  $$f (xy)=f (f (x)+f (y))$$

I've put $x$ and $y$ as $0$ and $1$. How to proceed after substituting if we don't know what the function is?
 A: $$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.
A: Injective case only:
As suggested by you and in the comments, we use $\{x,y\}=\{0,1\}$:
$y=0$:


*

*$$f(0)=f\big(f(x)+f(0)\big)$$
$x=y=0$:


*$$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}$).
