cdf =Manipulate[Column[{ SuFunc[FF,  aa, bb, vvi,  nn]}],Style[escriba@proposito,Bold,10],Spacer[{100,3}],
 (*Inicio contadores *)
 {{F,y''+y'+y==t^2,"EDO(usar ==)"},ControlType->InputField},
{{a,2,"a = "},ControlType->InputField},
{{vi,{0, 1},"{y(a), y'(a), ...} = "},ControlType->InputField},
{{b,3,"b = "},ControlType->InputField},
{{n,2,"n = "},ControlType->InputField},
Button["OK",FF =F;aa=a; bb=b; vvi =vi; nn =n ]
(* Fin contadores *)
,Alignment->Center,Deployed->True,AppearanceElements->"ResetButton",LocalizeVariables->True,ContinuousAction->False,FrameLabel->{{None,None},{Column[{,Row[{Style["Autores: Juan Félix Ávila Herrera y Enrique Vílchez Quesada",Bold,10,RGBColor[0,0,0.5]]}],Row[{Style["Escuela de Informática | Universidad Nacional de Costa Rica",Bold,10,RGBColor[0.5,0.1,0]]}]},Center],Style["Título: Método de Euler para EDO de orden n.", Bold,14, RGBColor[0,0.33,0.33]]}},
Initialization:>(
ClearAll["Global`*"];
FF =F; aa=a;  bb=b;  vvi =vi; nn =n;
escriba[lista_]:=Style[Row@lista,Black];
($PreRead=(#/. s_String/;StringMatchQ[s,NumberString]&&Precision@ToExpression@s==MachinePrecision:>s<>"`12."&));
proposito ={"Propósito: Usar el método de Euler para aproximar la\nsolución de una EDO de orden n con  ", "a≤ t≤ b.\nSe usa h =((b - a)/n), además (Subscript[α, 1])((Subscript[t, i]))≈ y((Subscript[t, i])), (Subscript[α, 2])((Subscript[t, i]))≈ y'((Subscript[t, i])), ..."};
SuFunc[F_,  a_, b_, vi_, n_] := Module[{r={},  ww=a, h =((b-a)/n), pts={}, pol, f, orden, ladoDer},  
aux =InputForm[F];
orden =1; 
While[Position[F, Derivative[orden][y]]≠{},  orden++];
orden--;

ladoDer =Solve[F, Derivative[orden][y]][[1]][[1]][[2]]/.Table[Derivative[i-1][y]-> ToExpression["u"<>ToString@i], {i, orden}] ;
  f=Join[Table[(ToExpression["u"<>ToString@i]) ,{i,2,orden}], {ladoDer}];
r ={"h = ", N@h, "\n"};
ww= vi; 
 
pts =Join[{Flatten@{"(Subscript[t, i])", Table[TraditionalForm@(Subscript[α, i]), {i, 1, Length@vi}]}}, {Flatten@{a, vi}}];
Do[
 
aux = f/. Flatten[{t-> a+i*h, Table[(ToExpression["u"<>ToString@i])->ww[[i]] ,{i,1,Length@ww}]}];
ww  = ww+ h *aux+0.;
 
pts =Join[pts, {Flatten@{a+(i+1)*h, ww}}]; 
, {i, 0, n-1}];
 
 r= Join[r,{Grid[Transpose@N@pts, Frame->All], "\n"}]; 
  
escriba@r
];

)]
(*CloudDeploy[cdf, Permissions->"Public"]*)