NumerovLin96[fcn_,t0_,te_,xstart0_,xstart1_,n_]:= Module[{a,b,c,h,x,m,y,f,f0,f1}, gamma={{0,0,0,0,0,0,0}, {0,0,0,0,0,0,0}, {-48.58284394924897275056754235347,48.46679039739792017000589547474,0,0,0,0,0}, {48.58286106830831213756789438036,-48.33263220805833557643201695186, -0.0000467432879895872357000797062537,0,0,0,0}, {52.30295372945104684823781605293,0.82651453795042425562638633360359, -26.304347474564332160434090523483,-26.193975700931696072677660271684,0,0,0}, {-52.30327378181146622536079960856,-1.0000000000000000000000000000000000, 26.657882045818773625065555056406,26.54693422627063968691997994963, -0.00014948062765768404905079222509186,0,0}, {0.00616442365606542140519690811241,7.945132597925052565577156468905519, -3.75`33,-3.73988400047737519418715276271014,0.270978708212824473264372224351678, 0.267608270683432733940427161340530,0}}; c={0.00392156862745098039215686274509804,0.3333333333333333333333333333333333, 0.2409895906545774764333039199980612,0.2409895906545774764333039199980612, 0.0884221740513048765078725505901741,0.0884221740513048765078725505901741, 0.00392156862745098039215686274509804}; a={-1.0000000000000000000000000000000000,0,-0.3662356688130395544618242275239890, 0.3662356688130395544618242275239890,0.72975208225515346817676698611521631, -0.7297520822551534681767669861152163,1.0000000000000000000000000000000000}; h=SetPrecision[(te-t0)/n,33]; s=Length[a]; t=t0+Range[0,n]*h; m=Length[xstart0]; x=Array[Array[0&,m]&,n+1]; x[[1]]=xstart0; x[[2]]=xstart1; g=Array[Array[0&,m]&,s]; g[[2]]=fcn[t[[1]],x[[1]]]; Do[g0=g[[2]]; g1=fcn[t[[k]],x[[k]]]; g=Array[Array[0&,m]&,s]; g[[1]]=g0;g[[2]]=g1; Do[g[[j]]=fcn[t[[k]]+a[[j]]*h,(1+a[[j]])*x[[k]]-a[[j]]*x[[k-1]]+h^2*gamma[[j]].g] ,{j,3,s}]; x[[k+1]]=SetPrecision[2*x[[k]]-x[[k-1]]+h^2*c.g,33] ,{k,2,n}]; Return[{t,x}] ];