Answer: f=1 and f=1/x.
It is easy to check that these are solutions, so we prove there are no other solutions.
*f = 1 if f is not injective:* Suppose a>b>0 and f(a)=f(b). Then we have
f(1+ax)=f(a)f(x+f(a))=f(b)f(x+f(b))=f(1+bx)
for any x∈R>0. Let c=a/b>1 and x=y/b, then we get f(1+cy)=f(1+y).
Taking a=1+cy, b=1+y, we get
f(1+(1+cy)z)=f(1+(1+y)z)
for all z∈R>0. Now, for 1<t<c, let y=c−tt−1>0 and z=c−1c−t>0.
Then (1+cy)z=t and (1+y)z=1, thus f(1+t)=f(2). Moreover, we have
f(1+cnx)=f(1+x) for any n≥1 by induction, thus increasing n, we see
that f(x)=f(2) is constant for all x>2.
Finally, for any x∈R>0, let y=2+1/x, then y+f(x)>2 and 1+xy>2, thus f(x)=f(1+xy)/f(y+f(x))=1.
f=1/x if f is injective: Let x>1. For y=xx−1>0, we have 1+xy=x, thus
f(1−1/x+f(x))=1,
since f(x)>0. Let d=f(2)−1/2. Then f injective implies that f(x)=d+1/x.
For y=x, we have x>1, y+f(x)>1, 1+xy>1, hence
(d+x1)(d+x+d+x11)=d+1+x21.
Simplifying to a polynomial identity and considering the constant term, we see
that d=0. It follows that f(x)=1/x for x>1. Now let y=f(x). Then
f(2f(x))=f(1+xf(x))/f(x) and thus
f(x2)=1+xx1x=2x.
Therefore f(x)=1/x for 0<x<2.