Derivation of qn for a Haploid Genome

Given:
    qn+1 = [(1 - s)*q n]/[1 - s*q n]

Find: An equation for qn in terms of q0, s, and n.

Remember the equation for qn+1  as a function of qn , s, and n:
    qn+1 = [(1 - s)*q n]/[1 - s*q n]

Well, lets rearrange that into a more suitable form to
    qn+1 = [(1 - s)*q n/q n ] / [(1 - s*q n)/q n]                  (Divided numerator and denominator by q n.)
    qn+1 = (1 - s) / [1/q n - s*q n/q n]
    qn+1 = [(1 - s)] / [(1/q n - s)]
    qn+1 = [(1 - s)/(1 - s)] / [(1/q n - s)/(1 - s)]                (Divided numerator and denominator by 1 - s.)
    qn+1 = [1 / [(1/q n - 1 + 1- s)/(1 - s)]                         (Subtracted 1 and added 1 to a term in the denominator.)
    qn+1 = [1 / [[(1/q n - 1) + (1- s)]/(1 - s)]                    (Regrouped terms.)
    qn+1 = [1 / [(1/q n - 1)/(1 - s) + (1- s)/(1 - s)]             (Distributed (1 - s) term.)
    qn+1 = [1 / [(1/q n - 1)/(1 - s) + 1]
    qn+1 = [1 / [1 + 1 /{(1 - s) * (1/q n - 1)}]
 
Applying the above equation to q1 in terms of q0:
    q1 = 1/[1 + 1/(1 - s)*(1/q0 - 1)]

Applying the same equation to q2 in terms of q1:
    q2 = 1/[1 + 1/(1 - s)*(1/q1 - 1)]

Plug the equation for q1 into the equation for q2:
    q2 = 1/[1 + 1/(1 - s)*(1/{1/[1 + 1/(1 - s)*(1/q0 - 1)]}- 1)]
    q2 = 1/[1 + 1/(1 - s)*([1 + 1/(1 - s)*(1/q0 - 1) - 1)]
    q2 = 1/[1 + 1/(1 - s)*([1 + 1/(1 - s)*(1/q0 - 1) - 1)]                (The -1 and 1 cancel.)
    q2 = 1/[1 + 1/(1 - s)*( 1/(1 - s)*(1/q0 - 1)]
    q2 = 1/[1 + 1/(1 - s)*1/(1 - s)*(1/q0 - 1)]
    q2 = 1/[1 + 1/(1 - s)2 * (1/q0 - 1)]

We can see that if we continue this process,
    qn = 1/[1 + 1/(1 - s)n * (1/q0 - 1)]
 
 A slight change of notation yields Haldane's  equation for qn:
   qn = [1 + (1 - s)-n * (q0-1 - 1)]-1