- Find all the strongly connected components (SCC) of the original graph.
- Replace each SCC by a single node - the resulting graph $G'$ will be acyclic.
- Find all the sources and sinks in $G'$ - let $m$ will be a number of sources, and $n$ - a number of sinks.
- Match sinks with sources using algorithm by Eswaran and Tarjan (see here), corrected by Raghavan (see here), then add $max(m,n)$ edges for all the matched (sink, source) pairs.
- Replace each node, representing SCC, by this SCC.
This approach will give you a strongly connected graph provided that the original graph is connected. Your requirement to have all the nodes belongingbelonged to some cycle looksis more weak - for example, a set of SCC's, not connected at all or connected by single edges, satisfies your goal definition.
However, it looks like allowing additional edgesit's unclear if this more weak requirement will allow you to connect isolated components of $G'$ can decrease the total number of these additional edges. It follows from compared to the inequality:
$$max(m_1+m_2,n_1+n_2)\le max(m_1,n_1)+max(m_2,n_2)$$
Additionally, an examplenumber of additional edges, providedgiven by @D.W. in commentsthe algorithm, clearly shows just thatdescribed here.