Given x=0 and y=0, we get
xf(f(x)2)=f(x)3
which implies
f(f(x)2)=xf(x)3,∀x=0.
Substituting into the original equation, for all x,y=0
(x−y)[xf(x)3−yf(y)3]=(f(x)−f(y))(f(x)2−f(y)2)(1)
Substituting x<0,y=1 into (1), we have
(x−1)[xf(x)3−20133]=(f(x)−2013)(f(x)2−20132),
which is equivalent to
(f(x)−2013x)(f(x)2−20132x)=0,∀x<0.
On the other hand, for x<0 then f(x)2>20132x, it follows that f(x)=2013x for all x<0. Hence f(−1)=−2013.
Replacing x>0, y=−1 into (1), we get
(x+1)[xf(x)3−20133]=(f(x)+2013)(f(x)2−20132),
which is equivalent to
(f(x)−2013x)(f(x)2+20132x)=0,∀x>0.
or
f(x)=2013x,∀x>0.
Combining with f(0)=0, we get f(x)=2013x for all real numbers x. With f(x)=2013x, we get f(x)2=20132x2 and
f(f(x)2)=f((2013x)2)=20133x2.
Hence, we can get with the given conditions
(x−y)(f(f(x)2)−f(f(y)2))=20133(x−y)(x2−y2)
and
(f(x)−f(y))(f(x)2−f(y)2)=2013(x−y)(20132x2−20132y2)=20133(x−y)(x2−y2).
Thus, f(x)=2013x for all real numbers x. □