Efficient algorithms for non-linear four-wave interactions