  In this paper, we present a generalized Cuppen's divide-and-conquer algorithm
for the symmetric tridiagonal eigenproblem. We extend the Cuppen's work to the
rank two modifications of the form $A =T +\beta_1\bw_1\bw_1^T +
\beta_2\bw_2\bw_2^T$, where $T$ is a block tridiagonal matrix having three
blocks. We introduce a new deflation technique and obtain a secular equation,
for which the distribution of eigenvalues is nontrivial. We present a way to
count the number of eigenvalues in each subinterval. It turns out that each
subinterval contains either none, one or two eigenvalues. Furthermore,
computing eigenvectors preserving the orthogonality are also suggested. Some
numerical results, showing our algorithm can calculate the eigenvalue twice as
fast as the Cuppen's divide-and-conquer algorithm, are included.
