Finding all $ f : \mathbb R \to \mathbb R $ satisfying $ f \bigl ( f ( x ) f ( y ) \bigr ) + f ( x + y ) = f ( x y ) $ for all $ x , y \in \mathbb R $ 
Find all functions $ f : \mathbb R \to \mathbb R $ such that for all reals $ x $ and $ y $:
$$ f \bigl ( f ( x ) f ( y ) \bigr ) + f ( x + y ) = f ( x y ) \text . $$

It was six hours ago in IMO 2017 (problem 2).
I tried  the standard way: $ x = 0 $, $ x = y $, $ x = 1 $, etc. but without any success.
Let $ f ( 0 ) = a $. Hence, for all $ x \in \mathbb R $ we have $ f \bigl ( a f ( x ) \bigr ) + f ( x ) = a $. What is the rest?
Also we have
$$ ( x - 1 ) ( y - 1 ) - 1 + x + y - 1 = x y - 1 $$
and
$$ 1 - ( 1 - x ) ( 1 - y ) + 1 - x - y = 1 - x y \text . $$

$$ f(f(x)f(y))+f(x+y)=f(xy). \  \  \ (1)$$
Let $f(0)=c$. 
Choose $x=y=0$, we can get 
$$f(c^2)=0.\ \ \ (2)$$
Choose $y=0$, we can get 
$$f(cf(x))+f(x)=c.\ \ \ (3)$$
Choose $y=\frac{x}{x-1}(x\neq 1)$, we can get
$$f\left(f(x)f\left(\frac{x}{x-1}\right)\right)=0(x\neq 1).\ \ \ (4)$$
When $c=0$, from equation $(3)$ we get $f(x)=0.$
When $c\neq 0$, i.e. $f(0)\neq 0$. Form equation $(4)$ we know there esists $x_0\neq0$ such that $f(x_0)=0.$
We claim that :$x_0=1$.
Otherwise, choose $x=x_0$ in equation $(4)$, we get $f(0)=0$ which is a contradiction.
Combining equation $(2)$, we know $c=1$ or $-1$.
If $c=1$, that is to say $f(0)=1,$
choose $y=1$ in equqtion $(1)$, we get $f(x+1)=f(x)-1$.
So $f(n)=1-n$ and $f(x+n)=f(x)-n$ for all $n\in Z$.
By equation $(1)$ we get 
$$f(f(x)f(y)+1)+f(x+y+n)=f(xy+n+1).\ \ \ (5)$$
In  the following we prove that: $f$ is injective.
If $f(a)=f(b)$, choose integer $n$ such that $(b-n)^2>4(a-n-1)$,
such that there exists $x_0,y_0$ statisfying 
$$x_0y_0+n+1=a,x_0+y_0+n=b.$$
From equation$(5)$ we get $f(x_0)f(y_0)+1=1$, so $f(x_0)=0$ or $f(y_0)=0$
,i.e. $x_0=1$ or $y_0=1$, and this implies $a=b$ which is the injectivity of function $f$.
From equation $(3)$, we know $f(f(x))=1-f(x)$.
On the one hand, $f(f(f(x)))=1-f(f(x))=1-(1-f(x))=f(x);$
on the other hand, $f(f(f(x)))=f(1-f(x))$.
Injectivity of $f$ implies $f(x)=1-x.$
If $c=-1$, we can get $f(x)=x-1$ in the same way as above!
In conclusion, all the solutions of the fucntioanl equation  are the following:
$$f(x)=0; f(x)=1-x; f(x)=x-1.$$
