I would be interested to know exactly what algorithms D3 uses to achieve the force-directed graph feature in the library. Having read Kobourov\'s summary of the history of force
In the original d3 paper, Mike Bostock & al. wrote that Dwyer's implementation is used for the force graph layout :
The force layout combines physical simulation and iterative constraint relaxation [7] for stable graph layout.
[7] T. Dwyer. Scalable, versatile and simple constrained graph layout. In EuroVis, 2009.
For more information, Dwyer's paper describes in details the whole algorithm.
An overview of the Force-Layout algorithms can be found at https://github.com/mbostock/d3/wiki/Force-Layout
Well, this isn't an answer to your specific question, but on his demo page for force-directed layout, he says, "Layout algorithm inspired by Tim Dwyer and Thomas Jakobsen."