#                           Ren-Cang Li, June 1, 1996
#                           na.rcli@na-net.ornl.gov   

read('s15odr6Eq'): 
read('InitialCxsCys'):
read('Newton'):
readlib(write):

Digits:=100: DumpDigits:=20:
eps:=10^(-Digits+30):

NumIG:=rowdim(Cs): 

x0:=vector(6): x0out:=matrix(NumIG,6): x0tmp:=vector(6):

istart:=1: print(istart):
for j from 1 to 6 do
    x0[j]:=Cs[istart,j]:
od:
err:=NewtonItern(x0): 
if err >=eps then
   print(`Warning: Possible inaccurate solution!`):
   print(`Please Interrupt`):
else
   numpts:=1:
   for j from 1 to 6 do
       x0out[numpts,j]:=x0[j]:
   od:
fi:
#
for ii from (istart+1) to NumIG do
    ichk:=1:
    print(ii):
    for j from 1 to 6 do
	x0[j]:=Cs[ii,j]:
    od:
    err:=NewtonItern(x0): 
    if err >=eps then
       print(`Warning: Possible inaccurate solution!`):
    else
       for i from 1 to numpts do
	   if ichk=1 then
	      for j from 1 to 6 do
	          x0tmp[j]:=x0out[i,j]-x0[j]:
	      od:
	      if norm(x0tmp)<=eps*norm(x0) then
		 ichk:=0:
	      fi: 
	   fi:
       od:
       if ichk=1 then
	  numpts:=numpts+1:
          for j from 1 to 6 do
              x0out[numpts,j]:=x0[j]:
          od:
       fi:
    fi:
od:

print(`The number of solutions found:`); print(numpts);

# Write them to a file

appendto(s15odr6_All); 

for ii from 1 to numpts do
    appendto(s15odr6_All); 
    writeln():
    write(`Scheme`): write(ii): write(`:`): writeln():
    write(`==============`): writeln():

    for i from 1 to 6 do x0[i]:=x0out[ii,i]: od:
    cx0:=vector([0,x0[1],x0[2],x0[3]]):
    cy0:=vector([x0[4],x0[5],x0[6],1/2]):
    read('WriteItOut'):
    writeln():
    close():
od:
