Node voltage is determined by the net influence from neighboring branches. Each branch sends a certain volt level through a certain resistance, at a given instant.
Determine net influence by calculating the weighted contribution from all branches.
1) Take the reciprocal of each branch's resistance.
2) Add all results.
3) Take the reciprocal. The result is equivalent parallel resistance. (Similar to the approach with parallel wires.)
4) For each branch, divide its resistance into the equivalent parallel resistance. This yields a weighting percentage for that branch.
5) Multiply the weighting percentage times voltage coming from far end of branch. (Include capacitor charge levels, inductor emf, etc.)
6) Add all results. The sum is the voltage at the node.
7) Repeat for all nodes in the circuit.
8) With these new values for the circuit, make an new evaluation of time-dependent components (capacitors, inductors, etc.).
9) For complex circuits it may be necessary to perform further iterations, and to compare results until convergence is achieved.
10) Display the new frame.
11) Update power supply voltage. Repeat from Step 1.
- - - Updated - - -
The above is the algorithm I used to program my own home-brew circuit simulator. Being animated makes it useful as a tutorial. I turned many simulations into videos which I put on Youtube under my channel named 'patientbrad'.