Suppose $cf(x)=f(cx)$ and $f:\mathbb{R}\to\mathbb{R}$. I believe it follows that $f(x+y)=f(x)+f(y)$.
Proof: There is some $c$ such that $y=cx$. Then $$f(x+y)=f\left((1+c)x\right)=(1+c)f(x)=f(x)+cf(x)=f(x)+f(cx)=f(x)+f(y)$$
QED.
I wonder if the same thing holds for when $f:\mathbb{R}^n\to\mathbb{R}^n$? I can't use the same trick, because all vectors are not scalar multiples.
I tried thinking of it in terms of basis units, but didn't get anywhere.