1.2.3 Second special case. (section 3-3 in Murphy book)
-- handle ode form  x y' = c x^n + a y - b y^2 -- section 3-3 
-- where c,n,a,b are CONSTANTS 
 
riccati_solver_3_3 :=proc(ode) 
    IF n = 2 a THEN 
        LET y=x^a u 
        ode becomes u'=x^(a-1) ( c - b u^2) separable. 
        SOL:= riccati_special_i(a,b,c,n,y,x) 
 
    ELIF (n-2a)/(2n) = k, where k positive integer THEN 
        -- example  x y' = 2 x^4 - 6 y - 5 y^2 
        -- n=4, a=-6, hence (n-2a)=4+12=16 and 16/(8) = k = 2. 
        IF odd(k) THEN 
            SOL:= riccati_special_i(n/2,c,b,n,y,x) 
        ELSE 
            SOL:= riccati_special_i(n/2,b,c,n,y,x) 
        END IF 
 
        FOR i from k-1 to 1 by -1 DO 
            IF odd(i) THEN 
               SOL:= (a+i n)/c + x^n/SOL 
            ELSE 
               SOL:= (a+i n)/b + x^n/SOL 
            END IF 
        END DO 
 
        SOL:= y = a/b + x^n/SOL 
    ELIF  (n+2 a)= 2 n k, where k is positive integer. 
          -- example x y' = 3 x^4 + 6 y + 3 y^2 
        IF odd(k) THEN 
            SOL:= riccati_special_i(n/2,c,b,n,y,x) 
        ELSE 
            SOL:= riccati_special_i(n/2,b,c,n,y,x) 
        END IF 
 
        FOR i from k-1 to 1 by -1 DO 
            IF odd(i) THEN 
               SOL:= (i n-a)/c + x^n/SOL 
            ELSE 
               SOL:= (i n-a)/b + x^n/SOL 
            END IF 
        END DO 
 
        SOL:= y = x^n/SOL 
    END IF 
 
    return SOL 
END PROC: