'Egyptian fractions - 26/07/2018 xx=2014 yy=59 x=xx y=yy If x>=y Then q=Math.Floor(x/y) tt="+("+q+")" x=Math.Remainder(x,y) EndIf If x<>0 Then While x<>1 'i=modulo(-y,x) u=-y v=x modulo() i=ret k=Math.Ceiling(y/x) m=m+1 tt=tt+"+1/"+k j=y*k If i=1 Then tt=tt+"+1/"+j EndIf 'n=gcd(i,j) x=i y=j gcd() n=ret x=i/n y=j/n EndWhile EndIf TextWindow.WriteLine(xx+"/"+yy+"="+Text.GetSubTextToEnd(tt,2)) Sub modulo wr=Math.Remainder(u,v) While wr<0 wr=wr+v EndWhile ret=wr EndSub Sub gcd wx=i wy=j wr=1 While wr<>0 wr=Math.Remainder(wx,wy) wx=wy wy=wr EndWhile ret=wx EndSub