Clear[LinearBdd,p0,q0,r0,a,b,alpha,beta,m]; 
Shooting[p0_,q0_,r0_,a_,b_,alpha_,beta_,m_] :=
  Module[{f1,f2,f,p,q,r,lambda},
    Set@@{p[t_],p0};
    Set@@{q[t_],q0};
    Set@@{r[t_],r0};
    Set@@{f1[t_,{x_,y_}],y};
    Set@@{f2[t_,{x_,y_}],p[t] y + q[t] x + r[t]};
    Set@@{f[t_,{x_,y_}], {f1[t,{x,y}],f2[t,{x,y}]} };
    sol1 = RungeKutta2D[f[t,{x,y}],a,b,{alpha,0},m];
    sol2 = RungeKutta2D[f[t,{x,y}],a,b,{alpha,1},m];
    Clear[i];
    lambda = (beta-sol2[[m+1,2,1]])/(sol1[[m+1,2,1]]-
                                      sol2[[m+1,2,1]]);
    sol = Table[{sol1[[i,1]], lambda *sol1[[i,2,1]] + 
                    (1-lambda)*sol2[[i,2,1]]},{i,1,m+1}];
    Return[sol]; ];
On[General::spell1];

Clear[p,q,r,t];
p[t_] = 0;
q[t_] = 1;
r[t_] = 0;

Clear[pts]; 
pts = Shooting[p[t],q[t],r[t],0,1,0,1,25];
ListPlot[pts, AxesLabel->{"t","x"}];

ss=DSolve[{x''[t] - x[t] ==0, x[0]==0, x[1]==1},x[t],t];
xx[t_]= x[t] /. First[ss];

Plot[xx[t], {t,0,1}]

Error = Table[pts[[i,2]]-xx[(i-1)/25] //N, {i,1,26}];
Max[Abs[Error]]

Clear[p,q,r,t];
p[t_] = -1/t; 
q[t_] = -(1-1/(4t^2));
r[t_] = Sqrt[t] Cos[t];

Shooting[p[t],q[t],r[t],1,6,1.0,-0.5,25]

Clear[pts]; 
pts = Shooting[p[t],q[t],r[t],1,6,1.0,-0.5,100];
ListPlot[pts,PlotRange->{{0,6.2},{-3.2,1.2}},
        AxesLabel->{"t","x"}];

f[t_]=(t Cos[t] +t^2 Sin[t] -4 C Sin[t] +4 C1 Cos[t])/
      (4 t^(1/2));
xx[t_] = f[t]/.{C->-2.960284381/4,C1->0.2354853843/4}

Error1 = Table[pts[[i,2]]-xx[1+5(i-1)/100] //N, {i,1,101}];
Max[Abs[Error1]]