A finite difference method for the calculation of transonic flow about a wing, based on a small perturbation theory