Old (Fortran/Basic/Turbo Pascal) programs have been ported to Borland Delphi 3/5/6:
The Trilogy, reported in this section, consists (indeed) of three mutually related Projects:
Is it possible to entirely automate the art of Balancing
a Chemical Equation ? The answer has found to be affirmative.
And somewhat suprising too ! Because the method used in my program is an integer version of the Least Squares Method. (The latter has also been employed for solving the problem of Ideal Flow around a circular cylinder, as has been formulated in 1976 by Th.E. Labrujère)
The gist of the method is as follows. In the chemical equation, let M be the number of Elements and N be the number of unknown coefficients. Then, mathematically speaking, we have to solve a system of M linear equations with N unknowns. Applying the Least Sqares Method results in a more convenient system: of N equations with N unknowns. The load vector of this system is zero. We know, in addition, that the outcome is an array of integers. And any multiple of the outcome must be considered as another mathematical solution. Because the equations are mutually dependent, the last equation can be cancelled. Furthermore, the last coefficient is set to unity, for the moment being, and the accompanying matrix coefficients are moved to the right hand side. Then the equations are solved by a direct method. The integer nature of the problem must preferrably be left intact. Therefore multiply everything with the determinant, instead of performing a division with it. At last, the coefficients are to be simplified, by dividing all of them with their GCD (Greatest Common Divisor).
Anyway, here comes:
P. Ramasami, A Concise Description of an Old Problem: Application of Matrices to Obtain the Balancing Coefficients of Chemical Equations, Journal of Mathematical Chemistry, Volume 34, Issue 1-2, July 2003, Pages 123 - 129
Kind of an update of "Sensible Densities", is (no longer) under development. It is placed here for a reference: