Há muitos algoritmos para calcular essas coisas que podem ou não funcionar, com melhor ou menor precisão para cada caso especial.Fiz um semestre sobre o assunto e, já depois, estudei muito mais sobre o assunto.
E estou a falar em soluções numéricas, Soluções analíticas é um problema a nível de doutoramento.
( não programo em pyton, mas isso é irrelevante para o que digo)