Existence of circuit passing through each vertex in a directed graph Are there necessary and sufficient conditions for the existence of a circuit, or a disjoint set of circuits, that passes through each vertex once in a directed graph?

According to the classic text, "Computers and Intractability, A Guide to the Theory of NP-Completeness" by Garey and Johnson, the following problem:
Partition into Hamiltonian Subgraphs

Given a directed graph $G=(V,A)$, can
  the vertices be partitioned into
  disjoint sets $V_1, V_2, \dots, V_k$
  for some $k$, such that each $V_i$
  contains at least three vertices and
  induces a subgraph of $G$ that
  contains a Hamiltonian Circuit.

is NP-Complete, by a reduction from 3SAT.
The book also mentions that if we allow each $V_i$ to contain at least two vertices, then this is solvable in polynomial time using Matching techniques.
