Computation for Theorem 14.8 on page 147

For this notebook to be evaluated correctly, the version of Mathematica must be able to recognize that the coefficient of   (x^(p + q - 1))   in   Expand[  x^(p+q-2)*(1+x+x^2)  ]   is   1

(This excludes Version 5.0 )

Thus, the version of Mathematica must return  True  as the answer to the question

TrueQ[
      Coefficient[Expand[x^(p + q - 2)*(1 + x + x^2)], 
          x^(p + q - 1)] == 1]

The version number of Mathematica used to evaluates this notebook:

$VersionNumber

For (14.21), we have

aAA[
        zet_] = f'[zet]^2*
          a[f[zet]] + (f'''[zet]/(2*f'[zet])) - (3/
              4) (f''[zet]/f'[zet])^2

The preceding represents  \(TraditionalForm\`\(\(a\^ ** \)\_\(m, 0, 2\)\)(ζ)\)  and we have chosen  A  to suggest asterisk.

We write

PAA[zet_] = f'[zet]^p*P[f[zet]]

for (14.20) and obtain

D[PAA[zet], zet]

for (14.21) and

Collect[ 
      D[PAA[zet], {zet, 2}], {P''[f[zet]], P'[f[zet]], 
        P[f[zet]]}, Simplify ]

for (14.22).  Similarly, we introduce

QAA[zet_] = f'[zet]^q*Q[f[zet]]

Now, (14.17) yields

SAA[
        zet_] = (PAA[zet]*D[QAA[zet], {zet, 2}] + 
          alpha*D[PAA[zet], zet]*D[QAA[zet], zet] + 
          bet*D[PAA[zet], {zet, 2}]*QAA[zet] + 
          gam*aAA[zet]*PAA[zet]*QAA[zet])

and

S[z_] = (P[z]*D[Q[z], {z, 2}] + alpha*D[P[z], z]*D[Q[z], z] + 
          bet*D[P[z], {z, 2}]*Q[z] + gam*a[z]*P[z]*Q[z])

For (14.23), we have

In Version 5.1, the  Coefficient  command does not respond well when negative numbers appear in exponents.  For this reason, we have included the factor  f'[zet]^2  in the following expression.

differ = f'[
              zet]^2*(SAA[zet] - f'[zet]^(p + q + 2)*S[f[zet]]) // 
        Expand

We introduce

A1 = Coefficient[
        differ,  f'[zet]^(p + q - 1)*f'''[zet]*P[f[zet]]*
          Q[f[zet]]]

A2 = Coefficient[
        differ,  f'[zet]^(p + q)*f''[zet]^2*P[f[zet]]*
          Q[f[zet]]]

A3  =  
      Coefficient[
          differ,  f'[zet]^(p + q + 2)*f''[zet]*P'[
              f[zet]]*Q[f[zet]] ]   // Expand

and

A4  =   Coefficient[
          differ,  f'[zet]^(p + q + 2)*f''[zet]*
            P[f[zet]]*Q'[f[zet]] ]   // Expand

If  differ = 0, then  alpha, bet, gam  must be solutions of the system

sol  = 
      Solve[ {A1 == 0,  A2 == 0,  A3 == 0, A4 == 0},  {alpha,  bet,  
          gam}]

As a check, we set

alpha  =  alpha   /.  sol[[1]]

bet  =  bet  /.  sol[[1]]  // Factor

gam  =  gam  /.  sol[[1]]

differ // FullSimplify

and see that  differ = 0.