Computation of dpary(y)
This section is basically the same as the previous one in execution.
> dpary1:=collect(subs(d(x)=0,df),p);
The next three steps are a bit of 'sleight of hand' to get Maple to remove the appropriate terms... namely those with a p in the numerator, and no p's in the denominator.
> dparyromeo:=simplify(p*dpary1);
> dparylist:=convert(dparyromeo,list);
> dparyjuliet:=remove(has,dparylist,{p^2,p^3,p^4});
> dpary2:=convert(dparyjuliet,`+`)/p;
Now we simplify dpary2, set it equal to zero, and solve for d(y). Something which is now easily done since dpary2 is linear in d(y).
> dparyy:=solve(dpary2=0,d(y));
>