  We present an efficient method to prepare states of a many-body system on
quantum hardware, first isolating individual quantum numbers and then using
time evolution to isolate the energy. Our method in its simplest form requires
only one additional auxiliary qubit. The total time evolved for an accurate
solution is proportional to the ratio of the spectrum range of the trial state
to the gap to the lowest excited state, and the accuracy increases
exponentially with the time evolved. Isolating the quantum numbers is efficient
because of the known eigenvalues, and increases the gap thus shortening the
propagation time required. The success rate of the algorithm, or the
probability of producing the desired state, is a simple function of measurement
times and phases and is dominated by the square overlap of the original state
to the desired state. We present examples from the nuclear shell model and the
Heisenberg model. We compare this algorithm to previous algorithms for short
evolution times and discuss potential further improvements.
