Program crank_nicolson
call thomas(a,b,c,d,JI)
Real, allocatable :: x(:),u(:),a(:),b(:),c(:),d(:)
Real:: m,dx,dt,Tmax
Integer:: j,NI,JI
Print*, 'Enter the total number of time steps'
read*, NI
Print*, 'Enter the final time'
read*, Tmax
dt=Tmax/NI !The size of timestep
Print*, 'This gives...