NINE                     Library "JINRLIB"                       
                                                
    Authors: B.Batgerel, E.V.Zemlyanaya, I.V.Puzynin                 You are 
    Language: Fortran 90                                             
                                                                     visitor here.
   
      PROGRAM FOR NUMERICAL SOLUTION OF THE BOUNDARY PROBLEMS FOR NONLINEAR
                DIFFERENTIAL EQUATIONS ON THE BASIS OF CANM

    The subroutine NINE (Newtonian Iteration for Nonlinear Equation) is the 
    FORTRAN 90 code for the numerical solution of the boundary problem for 
    nonlinear ordinary differential equation 
		      y"+f(x,y,y')=0, a ≤ x ≤ b,
                      α1*y'(a)+β1*y(a)=γ1,
                      α2*y'(a)+β2*y(a)=γ2,

    on the basis of continuous analogue of the Newton method (CANM). Numerov's 
    finite-difference approximation is applied to provide the fourth accuracy 
    order with respect to the discretization stepsize. Different algorithms of 
    calculating the Newtonian iterative parameter are employed. 

    Usage:

    CALL NINE ( N, H, TOL, ALPHA1, ALPHA2, BETA1, BETA2, GAMMA1, GAMMA2,            
                KEY_TAU, TAUMIN, ITER_MAX, X, YNEWTON, V, Fk, Gk, Uk, Y )

    N (integer)     - number of nodes of the discrete mesh of argument x;
    H (real*8)      - the stepsize of the discrete mesh;
    TOL (real*8)    - positive small number, a tolerance criterion of the 
                    convergence of iteration process;
    ALPHA1 (real*8), 
    ALPHA2 (real*8), 
    BETA1  (real*8), 
    BETA2  (real*8), 
    GAMMA1 (real*8), 
    GAMMA2 (real*8) - parameters of the boundary conditions;
    KEY_TAU (integer) - the key of algorithm of the Newtonian parameter τ (see 
                    detailed description):
                    KEY_TAU=1: TAU is calculated by means eqs.(18),(17) from
                    Description [3];
                    KEY_TAU=2: TAU is calculated by means eqs.(19),(17)
                    KEY_TAU=3: TAU0 is calculated by means eqs.(15),(17); TAU is
                    calculated by means eq.(17);
                    KEY_TAU=4: TAU is calculated by means eq.(17), TAU0=TAUMIN;
                    KEY_TAU=5: TAU is calculated by means eq.(15);
    TAUMIN (real*8) - lower bound of TAU;
    ITER_MAX (integer) - maximal number of iterations;
    X (real*8)      - arrays of N nodes of the discrete mesh of x;
    YNEWTON,V,V1,Fk,Gk,Uk,AV,BV,DY,D2Y - job arrays of N real*8 elements;
    Y (real*8)      - array of solution y(x) in N nodes of the discrete mesh. At 
                    the start, Y should contain initial guess of solution. At the 
                    end, Y contains the resulting solution.

    User should write the real*8 functions FF(X,Y,Z), FY(X,Y,Z), FDY(X,Y,Z) for
    the calculation of f(x,y,y'), df(x,y,y')/dy, df(x,y,y')/dy', respectively.

     Sources,tests and detailed description (in Russian, pdf) are submitted.