code: public void initForSolve(PrintStream out)
      {
          final int width = matrix.getWidth();
          final int height = matrix.getHeight();
  
          mTop = fillInTopVariables(width - 1);
          mSide = fillInConstants(height);
          //System.out.println("INIT-SOLVE matrix.h=" + matrix.getHeight() +
          //        " matrix.w=" + matrix.getWidth() + " m.array.length=" +
          //        matrix.getArray().length + " m.array[0].length=" + matrix.getArray()[0].length);
          mArrayhide = fillInArray(matrix.getArray(), constantsInThisColumnIndex);
  
          nullPrintln(out, "INIT-SOLVE, TOP.length = " + mTop.length + " matrix.height=" + height + " matrix.w=" + width);
          printTopArraySide(out);
  
      }
docs: .initForSolve(), then .solve(), then .getAnswer()