An iterative method for calculating hard-wall diffraction intensities