more stable solver with DIIS