A functional equation problem: $f(xy)f\left(\frac{x+y}{xy}\right)=f(x+y)$ and $f(x+1)=f(x)+1$ According to my friends, in the test of Moroccan team selection, no one solved the following problem :

Find all functions $f : \mathbb{R}^{+*} \to \mathbb{R}^{+*} $ such that :
$$f(x+1)=f(x)+1 \hspace{2cm} \text{and} \hspace{2cm} f(xy)f\left(\frac{x+y}{xy}\right)=f(x+y)$$
For all $x$ and $y$ in $\mathbb{R}^{+*}$

I followed the basic steps to solve generally a functional equation, but it seems that this one is very special since it needs to verify 2 conditions. Any thoughts ?
 A: If we substitute $y=1$ in the second equation we can get the expression:
$$f(x) = \frac{1}{f(1+1/x) -1} = \frac{1}{f(1/x)}.$$
Let's say we want to solve how much is $f(x)$ with $x\in \mathbb{R}, x>0$. Call the integer part $\lfloor x \rfloor = a_0$ and $b_0 = x-a_0$. Applying the first rule $a_0$ times we have that:
$$f(x) = a_0 + f(b_0) = a_0 + \frac{1}{f(1/b_0)}.$$
Now call $a_1 = \lfloor 1/b_0 \rfloor$ and $b_1 = 1/b_0-a_1$ and we apply the first rule again $a_1$ times:
$$ f(x) = a_0 + \frac{1}{a_1 + f(b_1)} = a_0 + \frac{1}{a_1 + \frac{1}{f(1/b_1)}}.$$
You can continue this indefinitely. This process is a well-known algorithm, it's the computation of the continued fraction of $x$, sometimes expressed as $[a_0; a_1, a_2, ...]$. These fractions, when you stop at a particular $n$ will get you the best rational approximation to $x$ (comparing with fractions with lower denominators) and are really handy when working with reals in any computer program.
You can check that we can bound the value of the $n$th iteration, no matter the value of $f$, between the $n-1$th and $n-2$th iteration of the usual algorithm (without $f$), and we know this sequence converges to $x$ so $f(x)$ must be exactly $x$. You can check any notes in continued fractions (for example the wikipedia page) for that.
A: Since this is olympiad training I'll just sketch the solution here.
Step 1

 Substitute $y=1/x$ in $f(xy)f(\frac{x+y}{xy})=f(x+y)$, we have $f(1)=1$ and hence inductively $f(n)=n$ for all positive integer $n$.

Step 2

 Substitute $y=1$ in $f(xy)f(\frac{x+y}{xy})=f(x+y)$ and eventually you get $f\left(\frac1x\right)=\frac1{f(x)}$.

Step 3

 Establish $f(a)f(b)=f(ab)$ for all $ab\geq\sqrt[3]{16}$, by considering $x+y=ab$, $xy=a$ or $xy=b$.

Step 4

 Combining all steps above, $f(a)f(b)=f(ab)$ for all $a,b$ (considering $ma, 1/m, nb, 1/n$ for large enough $m,n$) and $f(a+b)=f(a)+f(b)$.

Step 5

 Hence $f(x)=x$ for all $x$ is the only solution.

