There's an algorithm called ADI (Alternating Direction Implicit) in applied math circles and Split-operator in physics circles that does basically what you describe. It's an iterative method, and it follows this basic procedure:
For every value of $y$ , relax in the $x$-direction. This matrix should be tridiagonal, so it can be solved exactlydirectly in relatively little time.
For every value of $x$ , relax in the $y$-direction. Again, this should be pretty quick.
Repeat 1 and 2 until the error is as small as you want it to be.
I don't know the formal complexity of this algorithm, but I've found it to converge in fewer iterations than things like Jacobi and Gauss-Seidel every time I've used it.