I have looked at various sources regarding this, including the Gaussian official website. However, I have not managed to understand the geometry optimisation method used by Gaussian, a method known as the Berny algorithm. I understand that this algorithm uses the idea of updating the Hessian matrix, a matrix of 2nd order derivatives of the energy with respect to spatial coordinates, with past gradient history, something similar to the conjugate gradient method. My mathematical understanding is not that advanced so I would prefer if the answer uses a step-by-step approach. An overview of the approach in laymen terms would also be appreciated.