f[x_] = 1/(1+x^2);
data = Table[{x, f[x]}, {x, 0, 3, 1}];
Magnify[Plot[f[x], {x, 0, 3}, Epilog -> Point[data], ImageSize -> 200], 1.3]

S0[x_] = a0 + b0 x + c0 x^2 + d0 x^3;
S1[x_] = a1 + b1(x-1) + c1(x-1)^2 + d1 (x-1)^3;
S2[x_] = a2 + b2(x-2) + c2(x-2)^2 + d2 (x-2)^3;

solnNatural = Solve[{
S0[0] == f[0], S1[1] == f[1], S2[2] == f[2],(* S = f at left endpoints *)
S0[1] == f[1], S1[2] == f[2], S2[3] == f[3], (* S = f at right endpoints *)
S0'[1] == S1'[1], S1'[2] == S2'[2], (* S' is continuous*)
S0''[1] == S1''[1], S1''[2] == S2''[2], (*S'' is continuous *)
S0''[0] == 0, S2''[3] == 0 (* Natural boundaries *)},
{a0, b0, c0, d0, a1, b1, c1, d1, a2, b2, c2, d2}
][[1]]

solnClamped = Solve[{
S0[0] == f[0], S1[1] == f[1], S2[2] == f[2],(* S = f at left endpoints *)
S0[1] == f[1], S1[2] == f[2], S2[3] == f[3], (* S = f at right endpoints *)
S0'[1] == S1'[1], S1'[2] == S2'[2], (* S' is continuous*)
S0''[1] == S1''[1], S1''[2] == S2''[2], (*S'' is continuous *)
S0'[0] == f'[0], S2'[3] == f'[3] (* Clamped boundaries *)},
{a0, b0, c0, d0, a1, b1, c1, d1, a2, b2, c2, d2}
][[1]]

SNatural[x_]  := Which[x < 1, S0[x], x< 2, S1[x], True, S2[x] ]/.solnNatural;
SClamped[x_]  := Which[x < 1, S0[x], x< 2, S1[x], True, S2[x] ]/.solnClamped;
pn =Plot[{f[x],SNatural[x]}, {x, 0, 3}, Epilog -> Point[data], PlotLabel ->"Orange is Natural Cubic Spline", ImageSize -> 250];
pc =Plot[{f[x], SClamped[x]}, {x, 0, 3}, Epilog -> {Point[data], Line[{{0, f[0]}, {1, f[0] + f'[0]}}], Line[{{3, f[3]}, {2, f[3] - f'[3]}}]},PlotLabel ->"Orange is Clamped Cubic Spline", ImageSize -> 250];
Magnify[GraphicsRow[{pn, pc}], 1.3]

That wasn’t really fair.  The natural spline used 4 facts about f, but the clamped spline used 6 facts about f.
Let’s compare the natural spline with the clamped spline with n = 1 interval.  
Compute a, b, c, and d by hand!

y0 = f[0];
y1 = f[3];
v0 = f'[0];
v1 = f'[3];
Print["y0 = ", y0, ", y1 = ", y1, ", v0 = ", v0, ", v1 = ", v1];
(* Figure out what a, b, c, and d should be in terms of y0, y1, v0, and v1*)
a = 0;
b = 0;
c = 0;
d =0;
Sc1[x_] := a + b x  + c x^2 + d x^3;
pn1 =Plot[{f[x], Sc1[x]}, {x, 0, 3}, Epilog -> {Point[{{0, f[0]}, {3, f[3]}}], Line[{{0, f[0]}, {1, f[0] + f'[0]}}], Line[{{3, f[3]}, {2, f[3] - f'[3]}}]},PlotLabel ->"Orange is n=1 Clamped Cubic Spline", ImageSize -> 250]

After the spline is found, compare the two.

Magnify[GraphicsRow[{pn, pn1}], 1.3]