code: private E[][] createAbar(E[][] array, int i, int j)
      {
          E[][] ret = createSameSize(array);
          int height = ret.length;
          int width = ret[0].length;
          for (int r = 0; r < height; r++)
          {
              for (int s = 0; s < width; s++)
              {
                  if ((r != i) && (s != j))
                  {
                      E det = determinant(array, r, s, i, j);
                      E oneOverAij = reciprocal(array[i][j]);
                      ret[r][s] = multiply(det, oneOverAij);
                  }
                  else if ((r != i) && (s == j))
                  {
                      E oneOverAij = reciprocal(array[i][j]);
                      ret[r][s] = multiply(array[r][j], oneOverAij);
                  }
                  else if ((r == i) && (s != j))
                  {
                      E oneOverAij = reciprocal(array[i][j]);
                      E negAis = negate(array[i][s]);
                      ret[r][s] = multiply(negAis, oneOverAij);
                  }
                  else if ((r == i) && (s == j))
                  {
                      E oneOverAij = reciprocal(array[i][j]);
                      ret[r][s] = oneOverAij;
                  }
                  else
                  {
                      throw new SecretShareException("Programmer error");
                  }
                  //System.out.println("h=" + height + " w=" + width +
                  // " r=" + r + " s=" + s + " val=" + ret[r][s]);
              }
          }
  
          return ret;
      }
docs: (c21 c22)  = c11*c22 - c21*c12