Что касается e<1 то я уже давно написал код программы на дельфи:
var m,e,ee,e1,m2:Extended;
const rad=180/Pi;
begin
m:=StrToFloat(edt1.Text);{средняя аномалия}
e:=StrToFloat(edt2.Text);{эксцентриситет}
e1:=m-e;{промежуток в котором лежит E}
repeat
e1:=e1+0.000001;{метод подстановки}
m2:=e1-e*sin(e1/rad);{условие точности}
until Abs(m2-m)<0.00001;{проверка условия точности}
Label1.Caption:=FloatToStr(e1);
end;