$SPAD/src/input tpiezas001.input

Timothy Daly December 3, 2016

Abstract

This is from “A Collection of Algebraic Identities” by Titus. Piezas III[?]

Contents

2

1 Part 1. Assorted Identities

— * —

)set break resume
)sys rm -f tpiezas001.output
)spool tpiezas001.output
)set message test on
)set message auto off
)clear all

———-

1.1 E. Maillet

(a + b)^{3} + (a + c)^{3} + (a + d)^{3} + (a − b)^{3} + (a − c)^{3} + (a − d)^{3} = 6a(a^{2} + b^{2} + c^{2} + d^{2})

— * —

--S 1 of 91
t1a:=(a+b)^3 + (a+c)^3 + (a+d)^3 + (a-b)^3 + (a-c)^3 + (a-d)^3
--R
--R
--R            2       2       2     3
--R   (1)  6a d  + 6a c  + 6a b  + 6a
--R                                                    Type: Polynomial(Integer)
--E 1
--S 2 of 91
t1b:=6*a*(a^2+b^2+c^2+d^2)
--R
--R
--R            2       2       2     3
--R   (2)  6a d  + 6a c  + 6a b  + 6a
--R                                                    Type: Polynomial(Integer)
--E 2
--S 3 of 91
t1a-t1b
--R
--R
--R   (3)  0
--R                                                    Type: Polynomial(Integer)
--E 3

———-

1.2 E. Lucas-Liouville

\begin{matrix}(a + b)^{k} + (a + c)^{k} + (a + d)^{k} + (b + c)^{k} + (b + d)^{k} + (c + d)^{k}+ \\ (a − b)^{k} + (a − c)^{k} + (a − d)^{k} + (b − c)^{k} + (b − d)^{k} + (c − d)^{k} \end{matrix}

= 6(a^{2} + b^{2} + c^{2} + d^{2})^{k/2} for k = 2, 4

— * —

--S 4 of 91
t2a(k)==(a+b)^k + (a+c)^k + (a+d)^k + (b+c)^k + (b+d)^k + (c+d)^k +_
        (a-b)^k + (a-c)^k + (a-d)^k + (b-c)^k + (b-d)^k + (c-d)^k
--R
--R                                                                   Type: Void
--E 4
--S 5 of 91
t2b(k)==6*(a^2+b^2+c^2+d^2)^(k/2)
--R
--R                                                                   Type: Void
--E 5
--S 6 of 91
t2a(k)
--R
--R   Compiling function t2a with type Variable(k) -> Expression(Integer)
--R
--R   (6)
--R            k          k          k          k          k          k
--R     (d + c)  + (d + b)  + (d + a)  + (c + b)  + (c + a)  + (b + a)
--R   +
--R            k            k            k            k            k            k
--R   (- b + a)  + (- c + b)  + (- c + a)  + (- d + c)  + (- d + b)  + (- d + a)
--R                                                    Type: Expression(Integer)
--E 6
--S 7 of 91
t2b(k)
--R
--R   Compiling function t2b with type Variable(k) -> Expression(Integer)
--R
--R                            k
--R                            -
--R           2    2    2    2 2
--R   (7)  6(d  + c  + b  + a )
--R                                                    Type: Expression(Integer)
--E 7
--S 8 of 91

t2a(2)
--R
--R   Compiling function t2a with type PositiveInteger -> Polynomial(
--R      Integer)
--R
--R          2     2     2     2
--R   (8)  6d  + 6c  + 6b  + 6a
--R                                                    Type: Polynomial(Integer)
--E 8
--S 9 of 91
t2b(2)
--R
--R   Compiling function t2b with type PositiveInteger -> Expression(
--R      Integer)
--R
--R          2     2     2     2
--R   (9)  6d  + 6c  + 6b  + 6a
--R                                                    Type: Expression(Integer)
--E 9
--S 10 of 91
t2a(2)-t2b(2)
--R
--R
--R   (10)  0
--R                                                    Type: Expression(Integer)
--E 10
--S 11 of 91
t2a(4)
--R
--R
--R   (11)
--R     4       2      2      2  2     4       2      2  2     4      2 2     4
--R   6d  + (12c  + 12b  + 12a )d  + 6c  + (12b  + 12a )c  + 6b  + 12a b  + 6a
--R                                                    Type: Polynomial(Integer)
--E 11
--S 12 of 91
t2b(4)
--R
--R
--R   (12)
--R     4       2      2      2  2     4       2      2  2     4      2 2     4
--R   6d  + (12c  + 12b  + 12a )d  + 6c  + (12b  + 12a )c  + 6b  + 12a b  + 6a
--R                                                    Type: Expression(Integer)
--E 12
--S 13 of 91

t2a(4)-t2b(4)
--R
--R
--R   (13)  0
--R                                                    Type: Expression(Integer)
--E 13

———-

1.3 Boutin’s Identity

S ± (x_{1} ± x_{2} ± … ± x_{k})^{k} = k! 2^{k−1}x_{1}x_{2} … x_{k}

where the exterior sign is the product of the interior signs so the term is negative if there is an odd number of negative interior signs, otherwise positive

— * —

--S 14 of 91
t3a1 := (a+b)^2 - (a-b)^2
--R
--R
--R   (14)  4a b
--R                                                    Type: Polynomial(Integer)
--E 14
--S 15 of 91
t3b1 := 4*a*b
--R
--R
--R   (15)  4a b
--R                                                    Type: Polynomial(Integer)
--E 15
--S 16 of 91
t3a1-t3b1
--R
--R
--R   (16)  0
--R                                                    Type: Polynomial(Integer)
--E 16
--S 17 of 91
t3a2 := (a+b+c)^3 - (a-b+c)^3 - (a+b-c)^3 + (a-b-c)^3
--R
--R
--R   (17)  24a b c
--R                                                    Type: Polynomial(Integer)
--E 17

--S 18 of 91
t3b2 := 24*a*b*c
--R
--R
--R   (18)  24a b c
--R                                                    Type: Polynomial(Integer)
--E 18
--S 19 of 91
t3a2-t3b2
--R
--R
--R   (19)  0
--R                                                    Type: Polynomial(Integer)
--E 19
--S 20 of 91
t3a3 := (a+b+c+d)^4 - (a-b+c+d)^4 - (a+b-c+d)^4 - (a+b+c-d)^4
      + (a-b-c+d)^4 + (a-b+c-d)^4 + (a+b-c-d)^4 - (a-b-c-d)^4
--R
--R
--R   (20)  192a b c d
--R                                                    Type: Polynomial(Integer)
--E 20
--S 21 of 91
t3b3 := 192*a*b*c*d
--R
--R
--R   (21)  192a b c d
--R                                                    Type: Polynomial(Integer)
--E 21
--S 22 of 91
t3a3-t3b3
--R
--R
--R   (22)  0
--R                                                    Type: Polynomial(Integer)
--E 22

———-

We can create the general case using some functions.

The “bitlist” function creates a list of the sign changes needed to form each term. If a term is 4 variables long we need all possible combinations of 3 signs. In order to generate this we create a list of all possible bit combinations of the numbers from 0 to 2^{n−1} −1, which for the case of 4 would be from 0 to 7:

   [[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]]

We do this using an outer loop to generate the correct number of lists and an inner loop to create each list.

— * —

--S 23 of 91
bitlist(size:Integer):List List INT ==
  result:List List INT:=[]
  size <= 1 => result
  bound:PI:=size-1
  bitlength:INT:=2^bound
  for i in (bitlength-1)::PI..0 by -1 repeat
    t1:=[1::INT for k in 1..bound]
    for j in 0..(#t1-1) repeat
      if not bit?(i,j) then t1(bound-j):=0
    result:=cons(t1,result)
  result
--R
--R   Function declaration bitlist : Integer -> List(List(Integer)) has
--R      been added to workspace.
--R                                                                   Type: Void
--E 23

———-

These are the test cases.

— * —

--S 24 of 91
bitlist(1)
--R
--R   Compiling function bitlist with type Integer -> List(List(Integer))
--R
--R   (24)  []
--R                                                    Type: List(List(Integer))
--E 24
--S 25 of 91
bitlist(2)
--R
--I   Compiling function G7153 with type Integer -> Boolean
--I   Compiling function G7332 with type NonNegativeInteger -> Boolean
--R
--R   (25)  [[0],[1]]
--R                                                    Type: List(List(Integer))
--E 25
--S 26 of 91
bitlist(3)
--R

--R
--R   (26)  [[0,0],[0,1],[1,0],[1,1]]
--R                                                    Type: List(List(Integer))
--E 26
--S 27 of 91
bitlist(4)
--R
--R
--R   (27)  [[0,0,0],[0,0,1],[0,1,0],[0,1,1],[1,0,0],[1,0,1],[1,1,0],[1,1,1]]
--R                                                    Type: List(List(Integer))
--E 27

———-

Now we need a function to generate a list of subscripted symbols — * —

--S 28 of 91
symgen(var:Symbol,size:PI):List Symbol == [var.[i] for i in size..1 by -1]
--R
--R   Function declaration symgen : (Symbol,PositiveInteger) -> List(
--R      Symbol) has been added to workspace.
--R                                                                   Type: Void
--E 28
--S 29 of 91
symgen('a,4)
--R
--R   Compiling function symgen with type (Symbol,PositiveInteger) -> List
--R      (Symbol)
--R
--R   (29)  [a ,a ,a ,a ]
--R           4  3  2  1
--R                                                           Type: List(Symbol)
--E 29

———-

This is a function to generate the terms for Boutin’s Identity. Each term is of the form:

sign ∗ (x_{n} ± x_{n−1}pm … ± x_{1})^{n}

where the sign is negative if the number of minus signs in the term is odd — * —

--S 30 of 91
term(size:PI,signs:List INT):Polynomial Integer ==
  syms:=symgen('x,size)
  t1:POLY(INT):=first syms
  sign:INT:=if odd? size then 1 else -1

  for i in 1..#signs repeat
    if (signs.i = 0)
      then t1:=t1-syms.(i+1)
       else ( t1:=t1+syms.(i+1) ; sign:=sign*-1 )
  sign*(t1^size)
--R
--R   Function declaration term : (PositiveInteger,List(Integer)) ->
--R      Polynomial(Integer) has been added to workspace.
--R                                                                   Type: Void
--E 30

———-

Now we test it by hand for the case n = 4 — * —

--S 31 of 91
factor term(4,[0,0,0])
--R
--R   Compiling function term with type (PositiveInteger,List(Integer))
--R       -> Polynomial(Integer)
--R
--R                              4
--R   (31)  - (x  - x  - x  - x )
--R             4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 31
--S 32 of 91
factor term(4,[0,0,1])
--R
--R
--R                            4
--R   (32)  (x  - x  - x  + x )
--R           4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 32
--S 33 of 91
factor term(4,[0,1,0])
--R
--R
--R                            4
--R   (33)  (x  - x  + x  - x )
--R           4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 33
--S 34 of 91
factor term(4,[0,1,1])

--R
--R
--R                              4
--R   (34)  - (x  - x  + x  + x )
--R             4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 34
--S 35 of 91
factor term(4,[1,0,0])
--R
--R
--R                            4
--R   (35)  (x  + x  - x  - x )
--R           4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 35
--S 36 of 91
factor term(4,[1,0,1])
--R
--R
--R                              4
--R   (36)  - (x  + x  - x  + x )
--R             4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 36
--S 37 of 91
factor term(4,[1,1,0])
--R
--R
--R                              4
--R   (37)  - (x  + x  + x  - x )
--R             4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 37
--S 38 of 91
factor term(4,[1,1,1])
--R
--R
--R                            4
--R   (38)  (x  + x  + x  + x )
--R           4    3    2    1
--R                                          Type: Factored(Polynomial(Integer))
--E 38

———- And we test combining the terms using the bitlist function call.

— * —

--S 39 of 91
map(x+->factor(term(1,x)),bitlist(1))
--R
--R
--R   (39)  []
--R                                    Type: List(Factored(Polynomial(Integer)))
--E 39
--S 40 of 91
map(x+->factor(term(2,x)),bitlist(2))
--R
--R
--R                     2          2
--R   (40)  [- (x  - x ) ,(x  + x ) ]
--R              2    1     2    1
--R                                    Type: List(Factored(Polynomial(Integer)))
--E 40
--S 41 of 91
map(x+->factor(term(3,x)),bitlist(3))
--R
--R
--R                        3                 3                 3               3
--R   (41)  [(x  - x  - x ) ,- (x  - x  + x ) ,- (x  + x  - x ) ,(x  + x  + x ) ]
--R            3    2    1       3    2    1       3    2    1     3    2    1
--R                                    Type: List(Factored(Polynomial(Integer)))
--E 41
--S 42 of 91
map(x+->factor(term(4,x)),bitlist(4))
--R
--R
--R   (42)
--R                         4                     4                     4
--R   [- (x  - x  - x  - x ) , (x  - x  - x  + x ) , (x  - x  + x  - x ) ,
--R        4    3    2    1      4    3    2    1      4    3    2    1
--R                         4                     4                       4
--R    - (x  - x  + x  + x ) , (x  + x  - x  - x ) , - (x  + x  - x  + x ) ,
--R        4    3    2    1      4    3    2    1        4    3    2    1
--R                         4                     4
--R    - (x  + x  + x  - x ) , (x  + x  + x  + x ) ]
--R        4    3    2    1      4    3    2    1
--R                                    Type: List(Factored(Polynomial(Integer)))
--E 42

———- Next we have two functions, one to create a generic left hand side of Boutin’s Identity:

— * —

--S 43 of 91
lhs(size:PI):POLY(INT) ==
  size = 1 => 0::POLY(INT)
  reduce(+,map(x+->term(size,x),bitlist(size)))
--R
--R   Function declaration lhs : PositiveInteger -> Polynomial(Integer)
--R      has been added to workspace.
--R                                                                   Type: Void
--E 43

———-

and one to create a generic right hand side of Boutin’s Identity:

— * —

--S 44 of 91
rhs(size:PI):POLY(INT) ==
 size = 1 => 0
 bound:PI:=(size-1)
 factorial(size)*2^bound*reduce(*,symgen('x,size))@POLY(INT)
--R
--R   Function declaration rhs : PositiveInteger -> Polynomial(Integer)
--R      has been added to workspace.
--R                                                                   Type: Void
--E 44

———-

Now we look at the case where n = 2, showing the factors, the left hand side, the right hand side, and the fact that they are equal by subtraction

— * —

--S 45 of 91
map(x+->factor term(2,x),bitlist(2))
--R
--R
--R                     2          2
--R   (45)  [- (x  - x ) ,(x  + x ) ]
--R              2    1     2    1
--R                                    Type: List(Factored(Polynomial(Integer)))
--E 45
--S 46 of 91
lhs(2)
--R
--R   Compiling function lhs with type PositiveInteger -> Polynomial(
--R      Integer)
--R

--R   (46)  4x x
--R           1 2
--R                                                    Type: Polynomial(Integer)
--E 46
--S 47 of 91
rhs(2)
--R
--R   Compiling function rhs with type PositiveInteger -> Polynomial(
--R      Integer)
--R
--R   (47)  4x x
--R           1 2
--R                                                    Type: Polynomial(Integer)
--E 47
--S 48 of 91
lhs(2)-rhs(2)
--R
--R
--R   (48)  0
--R                                                    Type: Polynomial(Integer)
--E 48

———-

Now we look at the case where n = 3, showing the factors, the left hand side, the right hand side, and the fact that they are equal by subtraction

— * —

--S 49 of 91
map(x+->factor term(3,x),bitlist(3))
--R
--R
--R                        3                 3                 3               3
--R   (49)  [(x  - x  - x ) ,- (x  - x  + x ) ,- (x  + x  - x ) ,(x  + x  + x ) ]
--R            3    2    1       3    2    1       3    2    1     3    2    1
--R                                    Type: List(Factored(Polynomial(Integer)))
--E 49
--S 50 of 91
lhs(3)
--R
--R
--R   (50)  24x x x
--R            1 2 3
--R                                                    Type: Polynomial(Integer)
--E 50
--S 51 of 91

rhs(3)
--R
--R
--R   (51)  24x x x
--R            1 2 3
--R                                                    Type: Polynomial(Integer)
--E 51
--S 52 of 91
lhs(3)-rhs(3)
--R
--R
--R   (52)  0
--R                                                    Type: Polynomial(Integer)
--E 52

———-

Now we look at the case where n = 4, showing the factors, the left hand side, the right hand side, and the fact that they are equal by subtraction

— * —

--S 53 of 91
map(x+->factor term(4,x),bitlist(4))
--R
--R
--R   (53)
--R                         4                     4                     4
--R   [- (x  - x  - x  - x ) , (x  - x  - x  + x ) , (x  - x  + x  - x ) ,
--R        4    3    2    1      4    3    2    1      4    3    2    1
--R                         4                     4                       4
--R    - (x  - x  + x  + x ) , (x  + x  - x  - x ) , - (x  + x  - x  + x ) ,
--R        4    3    2    1      4    3    2    1        4    3    2    1
--R                         4                     4
--R    - (x  + x  + x  - x ) , (x  + x  + x  + x ) ]
--R        4    3    2    1      4    3    2    1
--R                                    Type: List(Factored(Polynomial(Integer)))
--E 53
--S 54 of 91
lhs(4)
--R
--R
--R   (54)  192x x x x
--R             1 2 3 4
--R                                                    Type: Polynomial(Integer)
--E 54
--S 55 of 91
rhs(4)

--R
--R
--R   (55)  192x x x x
--R             1 2 3 4
--R                                                    Type: Polynomial(Integer)
--E 55
--S 56 of 91
lhs(4)-rhs(4)
--R
--R
--R   (56)  0
--R                                                    Type: Polynomial(Integer)
--E 56

———-

1.4 Lagrange’s Identity

(∑ a_{k}^{2}) (∑ b_{k}^{2}) = (∑ a_{k}b_{k})^{2} + ∑ (a_{k}b_{j} − a_{j}b_{k})^{2}

We need two symbol generation functions. First, we need to generate the units for the term

(∑ a_{k}b_{k})^{2}

so that symgen2('a,'b,4) results in
 [a b ,a b ,a b ,a b ]
   4 4  3 3  2 2  1 1

— * —

--S 57 of 91
symgen2(var1:Symbol,var2:Symbol,size:PI):List POLY INT ==
  [(var1.[i]*var2.[i]) for i in size..1 by -1]
--R
--R   Function declaration symgen2 : (Symbol,Symbol,PositiveInteger) ->
--R      List(Polynomial(Integer)) has been added to workspace.
--R                                                                   Type: Void
--E 57
--S 58 of 91
symgen2('a,'b,4)
--R
--R   Compiling function symgen2 with type (Symbol,Symbol,PositiveInteger)
--R       -> List(Polynomial(Integer))
--R

--R   (58)  [a b ,a b ,a b ,a b ]
--R           4 4  3 3  2 2  1 1
--R                                              Type: List(Polynomial(Integer))
--E 58

———-

Next we need to generate the units for the term

∑ (a_{k}b_{j} − a_{j}b_{k})^{2}

so that symgen3('a,'b,4) results in
   [0, a b  - a b , a b  - a b , a b  - a b , 0, a b  - a b , a b  - a b , 0,
        3 4    4 3   2 4    4 2   1 4    4 1      2 3    3 2   1 3    3 1
    a b  - a b , 0]
     1 2    2 1

— * —

--S 59 of 91
symgen3(var1:Symbol,var2:Symbol,size:PI):LIST POLY INT ==
  result:LIST(POLY(INT)):=[]
  for j in 1..size repeat
    for k in 1..j repeat
      p:POLY(INT):=var1.[k]*var2.[j]-var1.[j]*var2.[k]
      result:=cons(p,result)
  result
--R
--R   Function declaration symgen3 : (Symbol,Symbol,PositiveInteger) ->
--R      List(Polynomial(Integer)) has been added to workspace.
--R                                                                   Type: Void
--E 59
--S 60 of 91
symgen3('a,'b,4)
--R
--R   Compiling function symgen3 with type (Symbol,Symbol,PositiveInteger)
--R       -> List(Polynomial(Integer))
--R
--R   (60)
--R   [0, a b  - a b , a b  - a b , a b  - a b , 0, a b  - a b , a b  - a b , 0,
--R        3 4    4 3   2 4    4 2   1 4    4 1      2 3    3 2   1 3    3 1
--R    a b  - a b , 0]
--R     1 2    2 1
--R                                              Type: List(Polynomial(Integer))
--E 60

———- Now we are ready to generate and test the Lagrange Identities. This function will take a given size and print all of the intermediate working results. It eventually creates the left hand side (lhs) and the right hand side (rhs) and subtracts them to show that they are equal.

— * —

--S 61 of 91
lagrange(size:PI):POLY(INT) ==
  t1:=factor reduce(+,map(x+->x^2,symgen('a,size)))
  print ["t1=",t1]
  t2:=factor reduce(+,map(x+->x^2,symgen('b,size)))
  print ["t2=",t2]
  t3:=factor reduce(+,symgen2('a,'b,size))^2
  print ["t3=",t3]
  t4:=factor reduce(+,map(x+->x^2,symgen3('a,'b,size)))
  print ["t4=",t4]
  lhs:=t1*t2
  print ["lhs=",lhs]
  rhs:=t3+t4
  print ["rhs=",rhs]
  lhs-rhs
--R
--R   Function declaration lagrange : PositiveInteger -> Polynomial(
--R      Integer) has been added to workspace.
--R                                                                   Type: Void
--E 61

———-

Now we test it for the case n = 2 — * —

--S 62 of 91
lagrange(2)
--R
--R   Function definition for lhs is being overwritten.
--R   Function definition for rhs is being overwritten.
--R   Compiling function lagrange with type PositiveInteger -> Polynomial(
--R      Integer)
--R            2     2
--R   ["t1=",a   + a  ]
--R           2     1
--R            2     2
--R   ["t2=",b   + b  ]
--R           2     1
--R                       2
--R   ["t3=",(a b  + a b ) ]
--R            2 2    1 1
--R                       2
--R   ["t4=",(a b  - a b ) ]

--R            1 2    2 1
--R              2     2    2     2
--R   ["lhs=",(a   + a  )(b   + b  )]
--R             2     1    2     1
--R              2     2   2      2     2   2
--R   ["rhs=",(a   + a  )b   + (a   + a  )b  ]
--R             2     1   2      2     1   1
--R
--R   (62)  0
--R                                                    Type: Polynomial(Integer)
--E 62

———-

Now we test it for the case n = 3 — * —

--S 63 of 91
lagrange(3)
--R
--R            2     2     2
--R   ["t1=",a   + a   + a  ]
--R           3     2     1
--R            2     2     2
--R   ["t2=",b   + b   + b  ]
--R           3     2     1
--R                              2
--R   ["t3=",(a b  + a b  + a b ) ]
--R            3 3    2 2    1 1
--R   ["t4=",
--R
--R          2     2   2                                2     2   2
--R       (a   + a  )b   + (- 2a a b  - 2a a b )b  + (a   + a  )b   - 2a a b b
--R         2     1   3         2 3 2     1 3 1  3     3     1   2      1 2 1 2
--R     +
--R          2     2   2
--R       (a   + a  )b
--R         3     2   1
--R     ]
--R              2     2     2    2     2     2
--R   ["lhs=",(a   + a   + a  )(b   + b   + b  )]
--R             3     2     1    3     2     1
--R              2     2     2   2      2     2     2   2      2     2     2   2
--R   ["rhs=",(a   + a   + a  )b   + (a   + a   + a  )b   + (a   + a   + a  )b  ]
--R             3     2     1   3      3     2     1   2      3     2     1   1
--R
--R   (63)  0
--R                                                    Type: Polynomial(Integer)
--E 63

———-

2 Form: x^{3} + y^{3} + z^{3} = m

Theorem: For any constant m, there is a rational solution to x^{3} + y^{3} + z^{3} = m (S. Ryley)

(p^{3} + qr)^{3} + (−p^{3} + pr)^{3} + (−qr)^{3} = m(6mnp^{2})^{3}

where {p, q, r} = {m^{2} + 3n^{3}, m^{2} − 3n^{3}, 36m^{2}n^{3}} with n arbitrary.

— * —

)clear all
--S 64 of 91
p:=m^2+3*n^3
--R
--R
--R          3    2
--R   (1)  3n  + m
--R                                                    Type: Polynomial(Integer)
--E 64
--S 65 of 91
q:=m^2-3*n^3
--R
--R
--R            3    2
--R   (2)  - 3n  + m
--R                                                    Type: Polynomial(Integer)
--E 65
--S 66 of 91
r:=36*m^2*n^3
--R
--R
--R           2 3
--R   (3)  36m n
--R                                                    Type: Polynomial(Integer)
--E 66
--S 67 of 91
lhs:=(p^3+q*r)^3 + (-p^3+p*r)^3 + (-q*r)^3
--R
--R
--R   (4)
--R            4 21          6 18          8 15          10 12         12 9
--R     157464m n   + 314928m n   + 262440m n   + 116640m  n   + 29160m  n
--R   +
--R          14 6       16 3

--R     3888m  n  + 216m  n
--R                                                    Type: Polynomial(Integer)
--E 67
--S 68 of 91
rhs:=m*(6*m*n*p^2)^3
--R
--R
--R   (5)
--R            4 21          6 18          8 15          10 12         12 9
--R     157464m n   + 314928m n   + 262440m n   + 116640m  n   + 29160m  n
--R   +
--R          14 6       16 3
--R     3888m  n  + 216m  n
--R                                                    Type: Polynomial(Integer)
--E 68
--S 69 of 91
lhs-rhs
--R
--R
--R   (6)  0
--R                                                    Type: Polynomial(Integer)
--E 69

———-

3 Form: x^{4} + y^{4} − z^{4} − t^{4} = a

Theorem: For any constant a, there is a rational solution to x^{4} + y^{4} − z^{4} − t^{4} = a (R. Norrie)

((2a + b)c^{3}d)^{4} + (2ac^{4} − bd^{4})^{4} − (2ac^{4} + bd^{4})^{4} − ((2a − b)c^{3}d)^{4} = a(2bcd)^{4}

where b = c^{8} − d^{8}, for arbitrary c, d.

— * —

)clear all
--S 70 of 91
b:=c^8-d^8
--R
--R
--R           8    8
--R   (1)  - d  + c
--R                                                    Type: Polynomial(Integer)
--E 70

--S 71 of 91
lhs:=((2*a+b)*c^3*d)^4+(2*a*c^4-b*d^4)^4-(2*a*c^4+b*d^4)^4-((2*a-b)*c^3*d)^4
--R
--R
--R             4 36        12 28        20 20        28 12        36 4
--R   (2)  16a c d   - 64a c  d   + 96a c  d   - 64a c  d   + 16a c  d
--R                                                    Type: Polynomial(Integer)
--E 71
--S 72 of 91
rhs:=a*(2*b*c*d)^4
--R
--R
--R             4 36        12 28        20 20        28 12        36 4
--R   (3)  16a c d   - 64a c  d   + 96a c  d   - 64a c  d   + 16a c  d
--R                                                    Type: Polynomial(Integer)
--E 72
--S 73 of 91
lhs-rhs
--R
--R
--R   (4)  0
--R                                                    Type: Polynomial(Integer)
--E 73

———-

4 Form: u^{2}x + x^{2}y + y^{2}z + z^{2}u = 0

4.1 C. Hermite

{u, x, y, z} = {a^{2}c − b^{3}, a^{2}b − ac^{2}, a^{3} − b^{2}c, bc^{2} − ab^{2}}

— * —

)clear all
--S 74 of 91
u:=a^2*c-b^3
--R
--R
--R         2     3
--R   (1)  a c - b
--R                                                    Type: Polynomial(Integer)
--E 74

--S 75 of 91
x:=a^2*b-a*c^2
--R
--R
--R             2    2
--R   (2)  - a c  + a b
--R                                                    Type: Polynomial(Integer)
--E 75
--S 76 of 91
y:=a^3-b^2*c
--R
--R
--R           2     3
--R   (3)  - b c + a
--R                                                    Type: Polynomial(Integer)
--E 76
--S 77 of 91
z:=b*c^2-a*b^2
--R
--R
--R           2      2
--R   (4)  b c  - a b
--R                                                    Type: Polynomial(Integer)
--E 77
--S 78 of 91
u^2*x+x^2*y+y^2*z+z^2*u
--R
--R
--R   (5)  0
--R                                                    Type: Polynomial(Integer)
--E 78

———-

4.2 S.Realis

{u, x, y, z} = {ab + b^{2} + c, 3(ab − b^{2} + c), ab − 3b^{2} − c, 3(ab − b^{2} − c)}

if c = a^{2} − 2ab + 2b^{2} — * —

)clear all
--S 79 of 91
c:=a^2-2*a*b+2*b^2

--R
--R
--R          2           2
--R   (1)  2b  - 2a b + a
--R                                                    Type: Polynomial(Integer)
--E 79
--S 80 of 91
u:=a*b+b^2+c
--R
--R
--R          2          2
--R   (2)  3b  - a b + a
--R                                                    Type: Polynomial(Integer)
--E 80
--S 81 of 91
x:=3*(a*b-b^2+c)
--R
--R
--R          2            2
--R   (3)  3b  - 3a b + 3a
--R                                                    Type: Polynomial(Integer)
--E 81
--S 82 of 91
y:=a*b-3*b^2-c
--R
--R
--R            2           2
--R   (4)  - 5b  + 3a b - a
--R                                                    Type: Polynomial(Integer)
--E 82
--S 83 of 91
z:=3*(a*b-b^2-c)
--R
--R
--R            2            2
--R   (5)  - 9b  + 9a b - 3a
--R                                                    Type: Polynomial(Integer)
--E 83
--S 84 of 91
u^2*x+x^2*y+y^2*z+z^2*u
--R
--R
--R   (6)  0
--R                                                    Type: Polynomial(Integer)
--E 84

———-

4.3 M. Weill

{u, x, y, z} = {c, a^{2}d, −abc, ad}

where c = a^{3}b − 1 and d = ab^{2} + 1 — * —

)clear all
--S 85 of 91
c:=a^3*b-1
--R
--R
--R         3
--R   (1)  a b - 1
--R                                                    Type: Polynomial(Integer)
--E 85
--S 86 of 91
d:=a*b^2+1
--R
--R
--R           2
--R   (2)  a b  + 1
--R                                                    Type: Polynomial(Integer)
--E 86
--S 87 of 91
u:=c
--R
--R
--R         3
--R   (3)  a b - 1
--R                                                    Type: Polynomial(Integer)
--E 87
--S 88 of 91
x:=a^2*d
--R
--R
--R         3 2    2
--R   (4)  a b  + a
--R                                                    Type: Polynomial(Integer)
--E 88

--S 89 of 91
y:=-a*b*c
--R
--R
--R           4 2
--R   (5)  - a b  + a b
--R                                                    Type: Polynomial(Integer)
--E 89
--S 90 of 91
z:=a*d
--R
--R
--R         2 2
--R   (6)  a b  + a
--R                                                    Type: Polynomial(Integer)
--E 90
--S 91 of 91
u^2*x+x^2*y+y^2*z+z^2*u
--R
--R
--R   (7)  0
--R                                                    Type: Polynomial(Integer)
--E 91
)spool
)lisp (bye)

———-

References

[1] Titus Piezas, “A Collection of Algebraic Identities” http://sites.google.com/site/tpiezas/001