We only need that $f$ is continuos.
With $x=1$, we find $f(y+1)=f(y)+f(1)$, in particular for $y=0$, $f(1)=f(1)+f(0)$, i.e., $f(0)=0$.
Let
$$ S=\{\,t\in\Bbb R\mid f(t)=tf(1)\,\}.$$
We have found that $0\in S$, and $$\tag1y\in S\iff y+1\in S,$$ hence $\Bbb Z\subseteq S$.
Also, (letting $y=0$) we have
$$\tag2 x\in S\iff x^4\in S.$$
Let $x\in (1,2)$ and $\epsilon>0$. We want to show that $(x-\epsilon,x+\epsilon)$ intersects $S$. If $x<1+\epsilon$, we are done. For $n$ big enough, $(x+\epsilon)^{4^n}$ exceeds $(x-\epsilon)^{4^k}$ by more than $1$, hence $\bigl((x-\epsilon)^{4^n},(x+\epsilon)^{4^n}\bigr)$ intersects $S$ and so by $(2)$, $(x-\epsilon,x+\epsilon)$ intersects $S$ as well.
As $S$ is a closed set (per continuity of $f$), we conclude $[1,2]\subseteq S$, and then from $(1)$ by induction $S=\Bbb R$.