The answers are f(x)=x, f(x)=−x and f(x)=0.
First, let's prove that f(x) is injective at point 0. Assume there exist two distinct real numbers t1 and t2 such that f(t1)=f(t2)=0. Comparing P(−f(b)−f(0),b,t1) and P(−f(b)−f(0),b,t2) gives us
(f(b)+f(0))bt1=(f(b)+f(0))bt2.
So if f(x) is not injective at point 0, we have
⇒∀b=0:f(b)=−f(0).
Which gives us f(x)=0 as an answer.
So if f(x) is a non-constant function, then it must be injective at point 0.
Now, P(−f(0)−f(f(0)),0,0) gives us f(−f(0)−f(f(0)))=0 and we have a real number t such that f(t)=0. P(−f(f(0)),t,0) gives us
f(−f(f(0)))=f(−f(0)−f(f(0)))=0.
And according to the injectivity at point 0, it follows that f(0)=0.
Now, P(−f(f(b)),b,0) and P(−f(f(c)),0,c) give us
f(b)f(f(b))2=b2f(b).
If b=0 then f(b)=0 therefore
f(f(b))=±b∀b=0.
And since f(f(0))=f(0)=0, we have
f(f(b))=±b∀b∈R.
If there exists a real number c=0 such that f(f(c))=−c, P(c,0,c) gives us
f(c)(f(c)2+c2)=0
which is a contradiction.
So
∀c∈R:f(f(c))=c
Now P(−a,0,a) gives us f(−a)2+a2f(a)=0 and P(a,0,−a) gives us f(a)3+a2f(−a)=0 and they lead to f(a)=±a.
If there exist non-zero real numbers b,c such that f(b)=b and f(c)=−c, P(−b−c,b,c) leads to contradiction. So f(x)=x and f(x)=−x are the only solutions.
f(x)=0 is also a solution.
■