If there exist $x_0$ for which $f(x_0)=0$, then $y=x_0$ gives $f(x+x_0)=0$ and then $f=0$ is a solution. Let $f(x) \neq 0$ for $\forall x$. Suppose that there exist $b$ such that $f(b) \neq 1$. Then $x=\frac{b}{f(b)-1}$, $y=b$ gives $f(\frac{b f(b)}{f(b)-1})=f(b) f(\frac{b f(b)}{f(b)-1})$ which is a contradiction. Thus $f=1$ is the second solution.