By extending the cyclic reduction technique to infinite block matrices we devise a new algorithm for computing the solution G(0) of the matrix equation G = Sigma(i=0)(+infinity) G(i) A(i) arising in a wide class of queueing problems. Here A(i), i = 0, 1,..., are k x k nonnegative matrices such that Sigma(i=0)(+infinity) A(i) is column stochastic. Our algorithm, which under mild conditions generates a sequence of matrices converging quadratically to G(0), can be fully described in terms of simple operations between matrix power series, i.e., power series in z having matrix coefficients. Such operations, like multiplication and reciprocation module z(m), can be quickly computed by means of FFT-based fast polynomial arithmetic; here m is the degree where the power series are numerically cut off in order to reduce them to polynomials. These facts lead to a dramatic reduction of the complexity of solving the given matrix equation; in fact, O(k(3)m + k(2)m log m) arithmetic operations are sufficient to carry out each iteration of the algorithm. Numerical experiments and comparisons performed with the customary techniques show the effectiveness of our algorithm. For a problem arising from the modelling of metropolitan networks, our algorithm was about 30 times faster than the algorithms customarily used in the applications. Cyclic reduction applied to quasi-birth-death (QBD) problems, i.e., problems where A(i) = O for i > 2, leads to an algorithm similar to the one of [Latouche and Ramaswami, J. Appl. Probab., 30 (1993), pp. 650-674], but which has a lower computational cost.