Identify the ne essential nodes
(where three or more circuit elements join).
Choose one node as the reference (usually the node with the most
branches), and label the rest
of the essential nodes with 1, 2, ..., (ne-1).
Define "node voltages" vk, for
k = 1, 2, ..., (ne-1),
as the voltage rise from the reference node to each
nonreference node.
Write KCL at each nonreference node, with positive current
leaving each branch.
Solve the resulting set of (ne-1)
simultaneous linear equations.
If desired, other voltages and currents in the circuit may
be obtained from the node voltages.
Dealing with voltage sources:
Avoid writing equations that require the current
through a voltage source.
Voltage sources directly relate node voltages,
and sometimes reduce the number of simultaneous equations.
Supernodes allow you to write KCL at a larger node
(involving more than one node voltage).
Then voltage sources "inside" the supernode
provide another equation to relate the node voltages.