Computational techniques for differential equations