This equation has an analytical solution
and the Julia solution very closely matches the analytical solution:
x1 = 0.8; x2 = 10.0;
plot(sol(x1, x2, 10.0), xlabel="t", label="u(t)")
analytical(t) = sin(t)*(-0.0444444cos(9t) - 0.0363636cos(11t) + 0.0808081) + (-0.0444444sin(9t) + 0.0363636*sin(11t) + 0.1)*cos(t)
plot!(0.0:0.1:10.0, analytical.(0.0:0.1:10.0), xlabel="t", label="analytical")
savefig("analyical_match.png")
So I’m curious what you’re getting from Mathematica because that is clearly the correct answer.