Firstly, we will prove that xf(x) is a constant.
Assume that there exists a,b∈(0,+∞) such that af(a)=bf(b).
Without loss of generality, we assume that af(a)<bf(b). By plugging x=a,x=b into the relation, we get
f(y+af(a))=f(y+bf(b))=f(y)+1
for all positive real numbers y. Denote K=bf(b)−af(a), we obtain that f(x)=f(x+K) for all x>af(a). Furthermore, we have
f(y+n⋅af(a))=f(y+(n−1)⋅af(a))+1=⋯=f(y)+n>n.
Thus f(x)>n for all x>n⋅af(a). Now, for an arbitrary positive number x, choose n=⌊f(x)⌋+2>f(x) and a positive integer m such that x+mK>n⋅af(a), we have f(x+mK)>n>f(x)=f(x+mK), which is a contradiction.
Hence, xf(x) is a constant. Denote xf(x)=c and replace f(x)=cx in the original equation, one can find that c=1. Thus, f(x)=x for all positive numbers x. □