/* Since ChemBalance cannot do nested parens I decided to deal with UDC's this way:
1) preprocess the equation to eliminate asterisks and parens, but don't send the result to 'add_to_elements_list' yet.
2) Take each term that has subscripts and convert it to a paren pair.
For example, consider converting the term 4Ca(OH)_2*3H_2O first to 4CaO_2H_2H_6O_3 and then to (CaO_2H_2H_6O_3)_4. Now this latter form is run thru the mill as though it were the original term. It's clever but it's also complicated, for the program's procedures must constantly decide they're doing negative values and whether UDCineffect. */
if errortesting then say "entering 'make_new_equation'"
if errortesting then say "entering 'add_to_elements_list'"
/* As the function 'process_residue' goes element by element thru the terms of both sides of the equation, it sends the element and cound (from the subscript) to this function, which adds that count to the appropriate entry of the coefficient matrix (say C for symbolic representation) to be used to solve for x the matix equation Cx = const., where const. is a 'column' matrix. */