  We propose an algorithm which proves a given bipartite quantum state to be
separable in a finite number of steps. Our approach is based on the search for
a decomposition via a countable subset of product states, which is dense within
all product states. Performing our algorithm simultaneously with the algorithm
by Doherty, Parrilo and Spedalieri (which proves a quantum state to be
entangled in a finite number of steps) leads to a two-way algorithm that
terminates for any input state. Only for a set of arbitrary small measure near
the border between separable and entangled states the result is inconclusive.
