Why iterate at all? Form a sparse linear system, and solve using backslash.
As it turns out, if the domain is a rectangular one, you can just use my inpaint_nans tool from the file exchange, as it does exactly what you want.
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!