Overdamped Motion 

> assume(`>`(d, 0)); -1
 

> dsol := dsolve({deq2, init}, x(t)); -1; %
 

x(t) = `+`(`/`(`*`(`/`(1, 2), `*`(x[0], `*`(`+`(`-`(r), `*`(`^`(d, `/`(1, 2)))), `*`(exp(`+`(`/`(`*`(2, `*`(`+`(r, `*`(`^`(d, `/`(1, 2)))), `*`(k, `*`(t)))), `*`(`+`(`-`(`*`(`^`(r, 2))), d))))))))), `...
 

> subs(eq, dsol)
 

x(t) = `+`(`/`(`*`(`/`(1, 2), `*`(x[0], `*`(`+`(`-`(r), `*`(`^`(`+`(`-`(`*`(4, `*`(k, `*`(m)))), `*`(`^`(r, 2))), `/`(1, 2)))), `*`(exp(`+`(`-`(`/`(`*`(`/`(1, 2), `*`(`+`(r, `*`(`^`(`+`(`-`(`*`(4, `*`...
 

> xo := unapply(rhs(%), m, r, k, x[0], t); -1
 

The solution consists of two exponential terms when `>`(r, sqrt(`+`(`-`(`*`(4, `*`(k, `*`(m))))))) 

> plot(xo(1, 3, 1, 1, t), t = 0 .. 12, labels = [t, x(t)], labelfont = [TIMES, BOLD, 12])
 

Plot_2d
 

> mass_spring(1, 4, 1, 0, 5, 2, 0, 14, 0, 60, scaling = constrained)
 

 

 

`+`(diff(diff(x(t), t), t), `*`(4, `*`(diff(x(t), t))), x(t)) = 0
x(t) = `+`(exp(`*`(`+`(`-`(2), `*`(`^`(3, `/`(1, 2)))), `*`(t))), `*`(`/`(2, 3), `*`(exp(`*`(`+`(`-`(2), `*`(`^`(3, `/`(1, 2)))), `*`(t))), `*`(`^`(3, `/`(1, 2))))), exp(`+`(`-`(`*`(`+`(2, `*`(`^`(3, ...
Plot_2d