Solving functional equation $f:Q^+\to R^+$ where $f(xy)=f(x+y)(f(x)+f(y))$ 
Find all functions $f:\mathbb{Q}^+ \to \mathbb{R}^+$ with the property:
  $$f(xy)=f(x+y)(f(x)+f(y)),\qquad \forall x, y\in\mathbb{Q}^+ \tag{1}$$

This question is from the 2014 Bulgaria National Olympiad.

When $y=1$
Equation (1) reduces to 
$$f(x)=f(x+1)(f(x)+f(1)) \implies f(x+1)=\frac{f(x)}{f(x)+f(1)}<1$$ 
for all $x$ in the domain, since $f(1)\in\mathbb{R}^+$.
When $y=x$
Get $f(x^2)=f(2x)\cdot 2f(x)$. 
In particular, when $x=1,\quad f(1)=f(2)\cdot 2f(1)$ and since the $f(1)\in\mathbb{R}^+$ we have $f(2)=\frac{1}{2}$.
A General Solution
It can easily be shown that $$f(x)=\frac{1}{x}$$ satisfies (1), and tallies with earlier observations for the special cases $y=x$ and $y=1$ in (1).
Other Solutions?
Are there other functions that satisfy (1)? If not, how can this be shown? 
 A: A constant solution $f(x)={1\over2}$ will do as well. Also, any other solution coincides with one of these at integer $x$. Let's see if we can extend that to rationals...
Upd.
OK, I got it. It's clumsy and boring, but anyway.
Let $f(1)=a$; now we will repeatedly apply the formula for $f(x+1)$ to obtain:
$$
\begin{array}{l|ccccccc}
n&    1& 2& 3& 4& 5& 6& \dots \\ \hline
f(n)& a& {1\over2}& {1\over1+2a}& {1\over1+a+2a^2}& {1\over1+a+a^2+2a^3}& {1\over1+a+a^2+a^3+2a^4}& \dots
\end{array}
$$
Now we have enough material to expand $f(6)=f(2\cdot3)=f(2+3)(f(2)+f(3))$. This leads to an ugly 5th degree equation
with two nice roots: $a=1$ and $a={1\over2}$. (One more root is negative, and the remaining two are not even real.)
This pretty much settles the matter for natural arguments.
Moving on to the rationals, let $f({p\over q})=b$, and again go by $f(x+1)$:
$$
\begin{array}{l|ccccccc}
x&    {p\over q}& {p\over q}+1& {p\over q}+2& {p\over q}+3& {p\over q}+4& {p\over q}+5& \dots \\ \hline
f(x)& b& {b\over a+b}& {b\over a^2+b(1+a)}& {b\over a^3+b(1+a+a^2)}& {b\over a^4+b(1+a+a^2+a^3)}& {b\over a^5+b(1+a+a^2+a^3+a^4)}& \dots
\end{array}
$$
Looks like $f({p\over q}+n)={b\over b(1+a+\dots+a^{n-1})+a^n}$.
Now we plug that into $f(p)=f({p\over q}+q)(f({p\over q})+f(q))$ (which then turns out to be a quadratic equation with respect to $b$)
and consider two cases:
$$\tag{1}a=1,\;f(p)={1\over p},\;f(q)={1\over q}$$
$$\tag{2}a=f(p)=f(q)={1\over2}$$
As it happens, $b$ in both cases is unique (with the other root being negative) and consistent with the function on naturals.
So the two only solutions are indeed $f(x)={1\over x}$ and $f(x)={1\over2}$.
Q.e.d.
