f(n*x)=f(x)+f((n-1)*x)=..=n*f(x) (induction)
Second, notice that for any y>0, let a=sqrt(y)>0,
then f(y) = f(a*a)=f(a)*f(a) >=0. i.e., for any x,
f(x+y)=f(x)+f(y) >= f(x). i.e. f is non-decreasing.
Further, if for any y>0, f(y)=0, then f(n*y)=0 for any integer n. Therefore, f(x)=0 for any x.
Otherwise, if for any y>0, f(y)>0, then f is strictly increasing.
And f(1)=f(1*1)=f(1)*f(1) => f(1)=1.
Hence, f(n)=n for any integer n.
And f(1)=f(n*(1/n))=f(n)*f(1/n)=n*f(1/n). => f(1/n)=1/n.
Therefore, for any p/q, f(p/q)=f(p*(1/q))=p*(1/q)=p/q.
And since f is increasing, then for any real x, f(x)=x.