#trying to prove upper bound for the Issai number S(k+1,l+1) #for all k0 or coeff(w1,k^2)>0)) or (degree(w1)=1 and (coeff(w1,k)>0 or coeff(w1,l)>0)) then if member(p,divisors(igcd(coeffs(w1)))) then d:=simplify(w1/p): if NotOut(d)=1 then B:=B union {d}: fi: fi: fi: fi: if divide(w2,k-p,'rem') then d:=degree(rem): if d=2 then if (coeff(coeff(rem,k),l)<0 or coeff(rem,k^2)<0) then rem:=(-1)*rem: fi: elif d=1 then if (coeff(rem,l)<0 or coeff(rem,k)<0) then rem:=(-1)*rem: fi: elif d=0 then if rem<0 then rem:=(-1)*rem: fi: fi: if NotOut(rem)=1 then B:=B union {simplify((rem))}:unassign('rem'): fi: fi: od: od: J:=choose(B,2): for i from 1 to nops(J) do j:=J[i]: x:=j[1]: y:=j[2]: for p from 1 to q do w1:=simplify(y-x*(l-p)): w2:=y-x: if (degree(w1)=2 and member(coeff(coeff(w1,k),l),{0,1}) and degree(w1,l^2)=0) or degree(w1)=1 then if (degree(w1)=2 and (coeff(coeff(w1,k),l)>0 or coeff(w1,k^2)>0)) or (degree(w1)=1 and (coeff(w1,k)>0 or coeff(w1,l)>0)) then if member(p,divisors(igcd(coeffs(w1)))) then d:=simplify(w1/p): if NotOut(d)=1 then R:=R union {d}: fi: fi: fi: fi: if divide(w2,l-p,'rem') then d:=degree(rem): if d=2 then if (coeff(coeff(rem,k),l)<0 or coeff(rem,k^2)<0) then rem:=(-1)*rem: fi: elif d=1 then if (coeff(rem,l)<0 or coeff(rem,k)<0) then rem:=(-1)*rem: fi: elif d=0 then if rem<0 then rem:=(-1)*rem: fi: fi: if NotOut(rem)=1 then R:=R union {simplify((rem))}:unassign('rem'): fi: fi: od: od: od: print(R intersect B): [R,B]: end: #f is an expression which we know is one of the forms #kl+ak^2+bk+cl+d or ak^2+bk+cl+d #and we want to make sure that we don't use out of #bounds values to come to a contradiction #In particular, we must avoid kl+k^2+..., and kl+l+... NotOut:=proc(f) local g,h,x,y: g:=subs(k=x,l=y,f): h:=unapply(g,x,y): if member(degree(f),{0,1}) then if (coeff(f,l)>3 or coeff(f,l)<0) then RETURN(0): elif (coeff(f,k)>3) then RETURN(0): elif (coeff(f,l)=0 and coeff(f,k)<0) then RETURN(0): elif (coeff(f,l)+coeff(f,k)<0) then RETURN(0): elif h(3,3)<1 then RETURN(0): else RETURN(1): fi: else if coeff(f,l^2)<>0 then RETURN(0):fi: if (coeff(coeff(f,l),k)=0 and coeff(f,k^2)>0 and coeff(f,l)<>0) then RETURN(0):fi: if (coeff(coeff(f,l),k)=1 and (coeff(f,l)-k)>0) then RETURN(0):fi: if (coeff(coeff(f,l),k)=1 and (coeff(f,l)-k)<-3) then RETURN(0):fi: if (coeff(coeff(f,l),k)=1 and (coeff(f,k)-l)<-3) then RETURN(0):fi: if (coeff(coeff(f,l),k)=1 and coeff(f,k^2)>0) then RETURN(0):fi: if (coeff(coeff(f,l),k)=0 and coeff(f,k^2)>1) then RETURN(0):fi: if (coeff(coeff(f,l),k)=1 and (coeff(f,k)-l)>1) then RETURN(0):fi: if (coeff(coeff(f,l),k)=1 and coeff(f,k)-l=1 and (tcoeff(sort(f-k*l-k))>-1 or coeff(f-k*l-k,k^2)<0)) then RETURN(0):fi: if h(3,3)<1 then RETURN(0):fi: #the 11 below is from kl+k-1 evaluated at (3,3) if h(3,3)>11 then RETURN(0):fi: 1: fi: end: