x=y=0 yields f(0)=0 and y=0 yields f(−x)=−f(x), x∈R.
y=1⇒f(2x+1)=2f(x)+f(1)(3)
y=−1⇒f(2x−1)=2f(x)−f(1)(4)
Denote x∗y=xy+x+y and notice that (ASOC): x∗(y∗z)=(x∗y)∗z.
For x=1, y∗1=2y+1, hence
f(y∗1)=2f(y)+f(1),∀y∈R(5)
Therefore
f(x∗(y∗1))=f(x∗(2y+1))=(1)f(x(2y+1)−x−2y−1)+2f(x)+2f(2y+1)=f(2(xy−y)−1)+2f(2y+1)+2f(x)=(3,4)2f(xy−y)+f(x)+2f(y)+f(1)(6)
and
f((x∗y)∗1)=(5)2f(x∗y)+f(1)=(1)2(2f(x)+2f(y))+2f(xy−x−y)+f(1)=2f(xy−x−y)+2f(x)+2f(y)+f(1).(7)
Relations (6), (7) and (ASOC) yield:
f(xy−x−y)+f(x)=f(xy−y),∀x,y∈R.
The last relation means that f(u+v)=f(u)+f(v) for all u,v∈R which can be written in the form u=x,v=xy−x−y, that is there exists x,y∈R so that x=u and y=u−1v+u; this happens if u=1 or u=1=−v.
It remains to check that f(1+v)=f(1)+f(v), ∀v∈R. Indeed, (4) and x↦x+1 imply
f(2x+1)=2f(x+1)−f(1)=(3)2f(x)+f(1),
whence f(x+1)=f(x)+f(1),∀x∈R.