Friday, April 23, 2010

source code for segment sieve (test bed program)

c The following code is compatible to Fortran and definitely can be compiled with a
c F90 compiler.
c This test bed program was written in Fortran an runs out of DOS (the command
c prompt).
c It takes 1 second for 999900 to 1000000, and not much more for the higher ranges I c timed.
c programming stategy:
c 1. setup an (n by 3) matrix: cells are filled with 1's or left empty
c 2. use the algorithms to fill cells with 1's or leave empty
c 3. look for voids in the appropriate area
c 4. generate 40 reports to a file
c The executable can be downloaded

c The main advantages I see with these algorithms are:
c 1. We can do away with keeping up with the prime numbers (except for reports).
c 2. These allow an incremental database, so we don't have start over as we do c now.

program segmentsieve ! by Tom Chenault
c
c copyright 2010
c
c "Prime Thoughts" by Tom Chenault shows that all primes must belong to the
c Chenault Series which consists of 2, 3, ((n*6)+1), and ((n*6) -1),
c letting n = 1, infinity.
c
c The Chenault Segment Sieve calculates prime numbers within a user defined
c span without knowledge of previous primes.
c
c The Chenault Segment Sieve is an application of the Chenault Solution which
c is derived in "Prime Thoughts" by Tom Chenault.
c
c Vanita's Vector is a replica of the integer system, with each number on
c Vanita's Vector (vv) corresponding to (6*(vv number)) on the integer system.
c
c The varible m is used for vv calculations.
c m = integer, no limit
c
c Chenault Solution = (6*m(1)*m(2) +- m(1) +- m(2)) (vv)
c
c All composites are indicated by the Chenault Solution. (vv)
c
c CA1 = Chenault Algorithm I = 6m(1)*m(2) + m(1) + m(2) (vv)
c
c CA2 = Chenault Algorithm II = 6m(1)*m(2) + m(1) - m(2) (vv)
c
c CA3 = Chenault Algorithm III = 6m(1)*m(2) - m(1) 1 m(2) (vv)
c
c The Chenault Segment Sieve uses the 3 Chenault Algorithms to
c isolate all primes.
c
c The Chenault Plus Solution ((Chenault Algorithms I and III)).
c The Chenault Plus Solution isolates all plus ((n * 6) + 1) primes.
c
c The Chenault Minus Solution (2 of the 4 Chenault Solution's 4 algorithms)
c The Chenault Minus Solution isolates all minus ((n * 6) - 1) primes.
c The two algorithms of the Chenault Minus Solution yield the same results,
c so only one algorithm is used (Chenault Algortithm II).
c
c Knowing which of the Chenault Solution algorithms generated a vv point
c allows determination of minus composites and plus composites.
c
c All primes are determined by Chenault Algorithms I, II, and III.
c
c Common Voids in the numbers generated by Chenault Algorithms I and III
c identify all n's of plus primes, i. e. ((n*6) + 1) primes.
c
c Voids in the numbers generated by Chenault algorithm II identify all
c n's of minus primes, i. e. ((n*6) - 1) primes.
c
c Common voids in Chenault Algorithms I, II, and II identify
c all n's of twin primes, i. e., ((n*6) - 1, ((n*6) + 1
c
c
c Jeff's Jargon: (a repeat of this glossary is at the end of code)
c
c Chenault is pronounced Shin-alt
c
c is = integer scale. The variable n is used for is calcultions.
c n = integer, no limit
c
c A: A prime number is a positive integer number, greater than
c 1; such that 1 and itself are the only integers which
c divide the prime number yielding a positive integer with a
c zero remainder.
c B: The Chenault series consists of: 2, 3, all (6n-1) and all (6n+1).
c C: cn = Chenault number = an element of the Chenault series.
c D: mp = (6n-1) primes = "minus primes".
c E: pp = (6n+1) primes = "plus primes".
c F: mc = (6n-1) composite numbers = "minus composites".
c G: pc = (6n+1) composite numbers = "plus composites".
c H: mcn = (minus Chenault number) = any mp or mc.
c I: pcn = (plus Chenault number) = any pp or pc.
c J: unsorted cn's = 2 and 3.
c K: sorted cn's = all (6n-1) and all (6n+1).
c
c
c Jeff's Jargon: (Section II)
c
c A: tpc: Twin Prime Candidate = 6n-1, 6n+1 pair for a given n.
c B: potential twin prime partner: ptpp
c Letting a n6-1 prime be the reference, its potential
c twin prime partner is the n6+1 for that n.
c Letting a n6+1 prime be the reference, its potential
c twin prime partner is the n6-1 for that n.
c C: lonesome prime: a prime (either mp or pp) whose ptpp is a composite.
c D: lonesome plus prime: pp whose ptpp is mc.
c E: lonesome minus prime: mp whose ptpp is pc.
c F: lonesome plus composite: (6n+1) is composite, while
c (6n-1) is prime.
c G: lonesome minus composite: (6n+1) is prime, while
c (6n-1) is composite.
c H: married plus prime: pp of a twin prime pair.
c I: married minus prime: mp of a twin prime pair.
c J: the composite table: all composite (6n-1) and
c all composite (6n+1)
c K: the plus composite table all composite (6n+1)
c L: the minus composite table all composite (6n-1)
c A: integer scale: is
c B: Vanita’s Vector= an integer scale that is a replica of the is. Each integer on Vanita’s Vector corresponds to a multiple of 6 on the is.
c C: vv point = point on Vanita’s Vector. Note 3: Throughout this composition, the variable mvv = vv point = a positive integer, 1, thru infinity.
c D: tppptn = vv point = Twin Prime Pivot Point
c = n for an (6n-1),(6n+1) pair of primes.
c E: ptpppt = vv point = potential twin prime pivot point
c = n for an (6n-1),(6n+1) pair on is.
c F: ctpppt = vv point = compromised Pivot Point
c = either 6n -1 and, or 6n + 1 is composite.
c A: CAI = Chenault Algorithm I.
c B: CAII = Chenault Algorithm II.
c C: CAIII = Chenault Algorithm III.
c D: Chenault Segment Sieve = eliminates all ptppp on Vanita’a Vector that satisfy either CAI, CAII, or CAIII.
c E. Segment Sieve = Chenault Segment Sieve
c = an exercise of the Chenault Solution
c vv = Vanita's Vector = a replica of the is. Each integer of Vanita's
c Vector corresponds to a multiple of 6 on the is.
c The varible m is used for vv calculations.
c m = integer, no limit
c
c All composites are indicated by the Chenault Solution. (vv points)
c
c Chenault Solution = (6*m(1)*m(2) +- m(1) +- m(2)) (vv points)
c
c The sign combinations used by the Chenault Algorithms determine whether
c (6*n)-1 or (6*n)+1 is composite, i. e., whether we have a plus composite
c or a minus composite.
c
c --------------------------------------------------------------------
c --------------------------------------------------------------------
c
c is section:
c
c is = integer scale. The variable n is used for is calcultions.
c n = integer, no limit
c
c Chenault Series = 2, 3, (n6 - 1), (n6 + 1) (is points)
c Thelma's Thoughts: Prime Numbers are a subset of the Chenault Series.
c For proof, see "Prime Thoughts" by Tom Chenault.
c
c Chenault Number = member of Chenault Series
c
c twin pair = (6n-1), (6n+1) for the same n
c
c
c ptpp = potential twin prime partner =
c The potential twin prime partner of a
c n6-1 prime is the n6+1 for that n.
c The potential twin prime partner of a
c n6+1 prime is the n6-1 for that n.
c
c pp = plus prime = prime at (6n+1).
c
c mp = minus prime = prime at (6n-1).
c
c twin prime pair = (6n+1), (6n-1) = pp, mp for the same n.
c
c
c pc = plus composite = a composite at (6n+1).
c
c mc = minus composite = a composite at (6n-1).
c d
c twin composite pair = (6n+1), (6n-1) = pc, mc for the same n
c
c lonesome prime = prime (either mp or pp) whose potential twin prime
c partner is a composite.
c
c lonesome plus prime = pp whose potential twin prime partner is a mc.
c
c lonesome minus prime = mp whose potential twin prime partner is a pc.
c
c married plus prime = the pp from a twin prime pair (besides 3, 5)
c
c married minus prime = the mp from a twin prime pair (besides 3, 5)
c
c --------------------------------------------------------------------
c --------------------------------------------------------------------
c
c vv section:
c
c Vanita's Vector (vv) = a replica of the is. Each integer of Vanita's
c Vector corresponds to ((the vv integer) * 6)
c on the is.
c The varible m is used for vv calculations.
c m = integer, no limit
c
c pttppvpt = vv = potential twin prime pivot point.
c
c tppvpt = vv = twin prime pivot point = an integer multiple of 6 such
c that ((6*tppp)-1, ((6*tppp)+1) are the is elements of a twin prime).
c
c pppvpt = vv = plus prime pivot point.
c
c mppvpt = vv = minus prime pivot point.
c
c lonesome pvpt = vv = pivot point for pp,mc or pc,mp.
c
c lonesome pppvpt = vv which serves as a pivot point for pp, mc.
c
c lonesome mppvpt = vv which serves as a pivot point for pc, mp.
c
c ----------------------------------------------------------------------------
c ----------------------------------------------------------------------------
c ----------------------------------------------------------------------------
c
c This program can output any permutation of the 40 starred choices
c in any span supported by the hardware/software.
c
cg 1. The Twin prime table. (is points)
c Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 = pp and
c ((common void) * 6) - 1 = mp
c (is points)
c
cg 2. The Twin prime Pivot Point table.
c Note: The Married Plus and Married Minus
c Pivot Point tables are identical to
c (The Twin prime Pivot Point table).
c Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
c
cg 3. The Married Plus prime table.
c pp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 is a married plus prime. (is points)
c
c 4. The Married Minus prime table.
cg mp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) - 1 is a married minus prime. (is points)
c
c 5. The prime table
cg (includes the primes in (pp, mc) and (pc, mp) and (pp, mp))
c Note: The pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA2) * 6) + 1) is a pp.
c Note: The mp are detected by voids in the output from
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1) is a mp.
c (is points)
c
c 6. The Pivot Point table of primes.
cg (includes the Pivot Points for pairs: (pp, mc) and (pc, mp) and (pp, mp))
c Note: The Pivot Points for pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: The Pivot Points for mp are detected by voids in output of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 7. The Plus prime table.
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA3) * 6) + 1 = pp
c (is points)
c
c 8. The Plus prime Pivot Point table. (Vanita's Vector Points)
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
c
c 9. The Minus prime table.
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (void in CA2) * 6) - 1 = mp
c (is points)
c
c 10. The Minus prime Pivot Point table. (Vanita's Vector Points)
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 11. The Lonesome prime table.
cg (the primes in (pp, mc) and (pc, mp) pairs)
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c NOTE:((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c and
c (pc,mp) detected by Pivot Point being a member of either or both
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
c
c 12. The Lonesome prime Pivot Point table.
cg Pivot Points for (pp, mc) or (pc, mp) pairs
c detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c and
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 13. The Lonesome Plus prime table.
cg identifies primes from (pp,mc) pairs
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c 14. The Lonesome Plus Pivot Point table.
cg detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 15. The Lonesome Minus prime table.
cg identifies primes from (pc,mp) pairs
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
c
c 16. The Lonesome Minus Pivot Point table.
cg detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 17. Composite table (all pc and all mc).
cg pc detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c 18. Pivot Point table for all composites (pc's and mc's).
cg Pivot Point for pc detected by being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c Pivot Point for mc detected by being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 19. pc table
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (is points)
c
c 20. Pivot Point table for pcs.
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c (Vanitas Vector Points)
c
c 21. mc table
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c 22. Pivot Point table for mc.
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 23. The pc table generated by CA1 = 36m(1)m(2) + 6m(1) + 6m(2) + 1
cg those pc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) + m(2) = CA1
c ((member of CA1) * 6) + 1 = pc
c (is points)
c
c 24. ((n * 6) + 1) Voids in pc table generated by (CA1 * 6) + 1
cg (is points)
c
c 25. The Pivot Point table generated by CA1
cg (Vanitas Vector Points)
c
c 26. Voids in the Pivot Point table generated by CA1
cg = 6m(1)m(2) + m(1) + m(2)
c (Vanitas Vector Points)
c
cg 27. The mc table is detected by a Pivot Point being generated by
c CA2.
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c
c 28. ((n * 6) -1) = mp voids in mc table generated by
cg 36m(1)m(2) +6m(1) -6m(2) -1 = (CA2 * 6) - 1
c ((void of CA2) * 6) - 1 = mp
c (is points)
c 29. The Pivot Point table for mc's can be generated by
cg CA2 = 6m(1)m(2) + m(1) - m(2)
c (6 * (member of CA2)) - 1 = mc
c (Vanitas Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) - m(1) + m(2)
c
c 30. Voids in the Pivot Point table generated by CA2 =
cg 6m(1)m(2) + m(1) - m(2)
c note: these voids are Pivot Points for mp
c (Vanitas Vector Points)
c
c 31. The mc table generated by 36m(1)m(2) - 6m(1) + 6m(2) - 1
cg is identical to 27 output since m(1) and m(2) are interchangeable.
c (is points)
c
c 32. ((n * 6) -1) Voids (these are mp) in the mc table generated by
cg 36m(1)m(2) - 6m(1) + 6m(2) - 1
c (same results as 28)
c (is points)
c
c 33. The Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c (Vanita's Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) + m(1) - m(2) = CA2
c (is identical to 29)
c
c 34. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c (identical to 30 output)
c (Vanita's Vector Points)
c
c 35. pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1 = (CA3 * 6) + 1
c (is points)
c
c 36. ((n*6)+1) voids (possible pp) in pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1
c (is points)
c
c 37. The Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2). (CA3)
c (Vanita's Vector Points)
c
c 38. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
c
c 39. Pivot Point table generated by combining the output from
cg 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (Vanitas Vector Points)
c 40. voids in Pivot Points table generated by combining
cg output from 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((commom void for CA1 and CA3) * 6) + 1 = pp
c (Vanitas Vector Points)
c
c
c
c --------------------------------------------------------------------
c --------------------------------------------------------------------
c
c The Chenault Sieve is an exercise of the Chenault Solution.
c
c The Chenault Solution identifies all mc and all pc.
c
c The Chenault Solution = 6*m(1)*m(2) +- m(1) +- m(2)
c
c The Chenault Solution is a vv calculation.
c
c The Chenault Solution is an expression derived from four is equations.
c
c 1. (6n(1) + 1) (6n(2) + 1) = 36n(1)n(2) + 6n(1) + 6n(2) + 1 = pc
c 2. (6n(1) + 1) (6n(2) - 1) = 36n(1)n(2) - 6n(1) + 6n(2) - 1 = mc
c 3. (6n(1) - 1) (6n(2) + 1) = 36n(1)n(2) + 6n(1) - 6n(2) - 1 = mc
c 4. (6n(1) - 1) (6n(2) - 1) = 36n(1)n(2) - 6n(1) - 6n(2) + 1 = pc
c
c Since equations 2. and 3. yield the same results, we can focus our
c considerations on only three algorithyms.
c
c Expressing 1, 2, and 4 as vv, we get
c
c Chenault Algorithyms
c
c CA1 = 6m(1)m(2) + m(1) + m(2)
c = m(1)(6m(2) + 1) + m(2) note: this derived from a pc
c CA2 = 6m(1)m(2) + m(1) - m(2)
c = m(1)(6m(2) + 1) - m(2) note: this derived from a mc
c CA3 = 6m(1)m(2) - m(1) - m(2)
c = m(1)(6m(2) - 1) - m(2) note: this derived from a pc
c
c
c The segment sieve program as written is limited to a max of 6 digit input,
c but the logic is applicable to any magnitude.
c note: Finding new primes is greatly simplified.
c
c
c Some thoughts for further exploration:
c
c Create files of all points elimiated on Vanita's Vector by the Chenault
c Sieve. Group together and as separate categories by:
c Chenault Algorithm
c ptppp = potential twin prime pivot points
c pc = plus composites
c mc = minus composites
c tppvpt = vv = twin prime pivot point = an integer multiple of 6 such
c that ((6*tppp)-1, ((6*tppp)+1) are the is elements of a twin prime).
c pppvpt = vv = plus prime pivot point.
c pppvpt = vv = plus prime prime pivot point = an integer multiple of 6
c such that ((6*pppvpt)-1, ((6*pppvpt)+1) are mc, pp.
c mppvpt = vv = minus prime pivot point.
c mppvpt = vv = plus prime prime pivot point = an integer multiple of 6
c such that ((6mppvpt)-1, ((6*mppvpt)+1) are mc, pp.
c
c
c 8. Sort eliminated potential primes.
c
c 10. Create file of sorted eliminated ptppp.
c (potential twin prime pivot points on Vanita's Vector).
c This data warrants further study.
c
c
c 11. Build file of Vanita Vector's tppp (twin prime pivot points)
c This data warrants further study.
c
c 13. Create file of sorted eliminated pppp(plus prime pivot points) on
c Vanita's Vector .
c This data warrants further study.
c
c
c 14. Build file of all Vanita Vector's pppp (plus prime pivot points)
c (including those that are also tppp (twin prime pivot points).
c This data warrants further study.
c
c
c 15. Translate the file of all of Vanita's Vector pppp from the vv scale
c to integer scale plus prime points.
c This data warrants further study.
c
c
c 16. Build file of Vanita Vector's lonesome pppp (plus prime pivot points).
c (includes only pppp that are not also tppp (twin prime pivot points).
c This data warrants further study.
c
c
c 17. Translate the file of Vanita's Vector lonesome pppp from the vv scale
c to number scale plus prime points.
c This data warrants further study.
c
c
c
c
c 18. Create file of sorted eliminated mppp(minus prime pivot points) on
c Vanita's Vector .
c This data warrants further study.
c
c
c 19. Build file of all Vanita Vector's mppp (minus prime pivot points)
c (including those that are also tppp (twin prime pivot points).
c This data warrants further study.
c
c
c 20. Translate the file of all of Vanita's Vector mppp from the vv scale
c to number scale minus prime points.
c This data warrants further study.
c
c
c 21. Build file of Vanita Vector's lonesome mppp (minus prime pivot points).
c (includes only mppp that are not also tppp (twin prime pivot points).
c This data warrants further study.
c
c
c 22. Translate the file of Vanita's Vector lonesome mppp from the vv scale
c to number scale minus prime points.
c This data warrants further study.
c
c
c
c note: If your computer is set to print from DOS or the Command Prompt,
c the following will work for you as is, else use notepad
c in the batch file.
c
c
c 23. print all files this program created?
c
c
c
c 24. print eliminatedptppp.tmp (Vanita's Vector points)
c (eliminated potential twin prime pivot points)?
c
c
c
c 25. print eliminatednumbers.tmp (number scale conversions of the
c eliminated potential twin prime pivot points and the
c associated plus or minus signs)?
c
c
c
c 26. print sortedeliminatednumbers.tmp (number scale conversions of the
c eliminated potential twin prime pivot points and the
c associated plus or minus signs) in numerical order?
c
c
c 27. print allprimes.tmp (the prime table portion you requested)?
c
c
c
c 28. print sortedeliminatedptppp.tmp (eliminatedptppp.tmp (Vanita's Vector
c points, eliminated potential twin prime pivot points)
c in numerical order?
c
c
c 29. print alltppp.tmp (Vanita's Vector twin prime pivot points)?
c
c
c
c 30. print alltwinprimes.tmp (the twin primes from the portion of the
c prime table you requested>?
c
c
c
c 31. print sortedeliminatedpppp.tmp (eliminatedptppp.tmp (Vanita's Vector
c points, eliminated potential plus prime pivot points)
c in numerical order?
c
c
c
c 32. print allpppp.tmp (all Vanita's Vector plus prime pivot points,
c includes those that are also tppp)?
c
c
c
c 33. print allppnumbers.tmp (the plus primes from the portion of the
c prime table you requested>?
c
c
c
c 34. print lonesomepppp.tmp (Vanita's Vector plus prime pivot points,
c excluding those that are also tppp)?
c
c
c
c 35. print lonesomeppnumbers.tmp (the plus primes from the portion of the
c prime table you requested whose potential twin prime partners
c are composites>?
c
c
c
c 36. print sortedeliminatedmppp.tmp (eliminatedptppp.tmp (Vanita's Vector
c points, eliminated potential minus prime pivot points)
c in numerical order?
c
c
c 37. print allmppp.tmp (all Vanita's Vector minus prime pivot points,
c includes those that are also tppp)?
c
c
c
c 38. print allmpnumbers.tmp (the minus primes from the portion of the
c prime table you requested>?
c
c
c
c 39. print lonesomemppp.tmp (Vanita's Vector minus prime pivot points,
c excluding those that are also tppp)?
c
c
c
c 40. print lonesomempnumbers.tmp (the minus primes from the portion of the
c prime table you requested whose potential twin prime partners
c are composites>?
c
c The Logic Steps of this Chenault Sieve Program follow:
c
c A. Declare variables as necessary for Fortran compatable program

character scale*2, again, choices*80, filename*80, output
c
c scale = is if user plans to input span limits using the commonly
c used integer scale.
c = vv if user plans to input span limits using Vanita's Vector.

integer lowervv, lowerm, ichoice(100), upperlimit,
1 uppervv, upperm, oldpos, ca1, ca2, ca3, ca25,
2 vv(9999999, 3), upperis
c
c lowervv = user's lower limit on vv.
c lowerm = The lowest m value which will effect lowervv.
c ichoice(100) = array for registering user choices of output options
c uppervv = user's max limit on vv.
c upperm = The max m value which will effect uppervv.
c oldpos = comma locator in string parse logic
c vv(9999999, 4) = storage array for pc, pp, mc, or mp indicators,
c can hold up to 4 indicators for 9999999 vv points.
c loweris = user's lower input on is, if used
c upperis = user's upper input on is, if used
c
c B. Give user option of inputing limits as is (integer scale) or as
c vv (Vanita's Vector scale)
c note: all sieve calculations are done on vv scale.
c
5 print *, 'choose input scale'
print *, ' is(integer scale) or vv(Vanitas Vector scale)'
print *, ' default = vv'
read (5, '(a)') scale
if ((scale .eq. '') .or. (scale .eq. 'VV')) scale = 'vv'
if (scale .eq. 'IS') scale = 'is'
if ((scale .ne. 'is') .and. (scale .ne. 'vv')) go to 5
c
c
c C. Get user desired lower limit of output, default = 1. Remind user of
c scale choice (is or vv).
c (This version of the sieve program will accept thru 6 digit input)
c
c
c Record user desired lower limit as a Vanita's Vector point, convert if
c neccesary.
c
c If lower limit exceeds 6 digits, an error message appears.
c
c If user desired lower limit is positive, we proceed. If lower limit is
c not acceptable; tell user, give option to input other lower limit and
c give option of exiting.
c
10 print *, 'input lower limit of span on ', scale
print *, 'max input = 6 digits'
read (5, '(I6)') lowerlimit
c If user desired lower limit is positive, we proceed. If lower limit is
c not acceptable; tell user, give option to input other lower limit and
c give option of exiting.
if (lowerlimit .lt. 1) then
print *, 'lower limit is less than 1'
print *, 'e to exit, return to try again'
read (5, '(a)') again
if ((again .eq. 'e') .or. (again .eq. 'E')) stop
go to 10
endif
if (lowerlimit .gt. 999999) then
print *, 'lower limit is greater than 999999'
print *, 'e to exit, return to try again'
read (5, '(a)') again
if ((again .eq. 'e') .or. (again .eq. 'E')) stop
go to 10
endif
c If input is integer scale, adjust to vv, which hosts all
c internal calculations.
if (scale .eq. 'is') then
loweris = lowerlimit
lowervv = (lowerlimit + 2) / 6 ! gets vv
c all interior calculations are in vv
else
lowervv = lowerlimit
loweris = (6 * lowervv) - 1
endif
c
c D. Lower m limit needs to include the lowest m values which can affect
c the user desired span. The Chenault Algorithm which can exert maximum
c influence on the user min, using vv points less than the user defined
c span, is CA1, 6m(1)m(2) + m(1) + m(2).
c Expansion of the lower m limit can be maximized by:
c D.1. Setting m(1) = 1.
c D.2. CA1 then results in 6*m(2) + 1 + m(2)
c D.3. Setting 7*m(2) = (user desired lower vv limit) - 1
c D.4. This yields calculation starting points of
c m(1) = 1 and
c m(2) = ((user desired lower vv limit) - 1) / 7
c
lowerm = (lowervv - 1) / 7
print *, 'lowerm = ', lowerm
c
c E. Get user desired upper limit of span desired. Remind user of previous
c scale choice (is or vv). Make user aware of limited number size
c supported by the hardware/software.
c (This version of the sieve program will accept thru a 6 digit input)
c
c Convert is to vv if neccessary.
c
c Record user desired upper limit as a Vanita's Vector point.
c
c If upper > lower> 0, the program accepts the limits, else go to 1.
c
c If upper limit exceeds six digits, an error message appears.
c
c If user defined upper limit is greater than user desired lower limit,
c we proceed. If upper limit is not acceptable; tell user, give option to
c input other upper limit and give option of exiting.
c

20 print *, ' '
print *, ' '
print *, 'input upper limit of span on ', scale
print *, 'max input = 6 digits'
read (5, '(I6)') upperlimit
if (upperlimit .le. lowerlimit) then
print *, 'upper span limit is less than or equal to the lower',
1 ' span limit entered.'
print *, 'type e to exit, type a return to try again'
read (5, '(a)') again
if ((again .eq. 'e') .or. (again .eq. 'E')) stop
go to 20
endif
if (upperlimit .gt. 999999) then
print *, 'upper limit is greater than 999999'
print *, 'e to exit, return to try again'
read (5, '(a)') again
if ((again .eq. 'e') .or. (again .eq. 'E')) stop
go to 20
endif
if (scale .eq. 'is') then
upperis = upperlimit
uppervv = (upperlimit + 2) / 6 ! gets vv
c all interior calculations are in vv
else
uppervv = upperlimit
upperis =(uppervv * 6) + 1
endif
c

c
c F. Upper m limit needs to include the highest m values which can affect
c the user desired span. The Chenault Algorithm which can exert maximum
c influence on the user max, using vv points greater than the user defined
c span, is CA3, 6m(1)m(2) - m(1) - m(2).
c Expansion of the upper m limit can be maximized by:
c D.1. Setting m(1) = 1.
c D.2. CA3 then results in 6*m(2) - 1 - m(2)
c D.3. Setting 5*m(2) = (user desired upper vv limit) + 1
c D.4. This yields calculation points of m(1) = 1 and
c m(2) = ((user desired upper vv limit) + 1) / 5
c
upperm = (uppervv + 1) / 5
print *, 'upperm = ', upperm
c
c G. Activate Chenault Sieve such that limits are satisfied and all
c compromised vv points within the user defined span are noted.
c (note: The Chenault Sieve operates on Vanita's Vector, which is
c a replica of the integer scale. Each integer on Vanita's
c Vector represents a multiple of 6 on the integer scale,
c since all twin primes^ are centered around multiples of 6.)
c (^=except for the twin prime at 3, 5 which is an anomalie)
c
c
c note: The integers on Vanita's Vector which are not matched (compromised)
c by CA1 or CA2 or CA3 are tpppt.
c
c G. Indicate all vv in span that are satisfied by
c Chenault Algorithym I, 6m(1)m(2) + m(1) + m(2). This results from
c + * +, so we have a pc at 6(6m(1)m(2) + m(1) + m(2)) + 1. (is)
c
c G2. The method used for calculation may dictate the need for
c Indicating all vv in user span that are satisfied by
c 'Chenault Algorithm 2.5', 6m(1)m(2) - m(1) + m(2).
c Note: The method following, and used, does need ca25.
c
floatupperm = upperm
floatlowerm = lowerm
do m1 = 1, (int(sqrt(floatupperm)) + 1)
do m2 = upperm, int(sqrt(floatlowerm)), -1
ca1 = 6*m1*m2 + m1 + m2
if ((ca1 .ge. lowervv) .and. (ca1 .le. uppervv))
1 vv(ca1, 1) = 1
ca2 = 6*m1*m2 + m1 - m2
if ((ca2 .ge. lowervv) .and. (ca2 .le. uppervv))
1 vv(ca2, 2) = 2
ca25 = 6*m1*m2 - m1 + m2
if ((m1 .eq. 1) .and. (m2 .eq. 4)) print *, 'ca25 = ', ca25
if ((ca25 .ge. lowervv) .and. (ca25 .le. uppervv))
1 vv(ca25, 2) = 2
ca3 = 6*m1*m2 - m1 - m2
if ((ca3 .ge. lowervv) .and. (ca3 .le. uppervv))
1 vv(ca3, 3) = 3
enddo
enddo
c
c G2. Note (continued):
c The method following does not need ca25.
c
c G2.a. Indicate all vv in span that are satisfied by
c Chenault Algorithym I, 6m(1)m(2) + m(1) + m(2). This results from
c + * +, so we have a pc at 6(6m(1)m(2) + m(1) + m(2)) + 1. (is)
c
c do m1 = 1, upperm
c do m2 = 1, upperm
c ca1 = 6*m1*m2 + m1 + m2
c print *, 'ca1 = ', ca1
c if ((ca1 .ge. lowervv) .and. (ca1 .le. uppervv)) then
c vv(ca1, 1) = 1
c endif
c enddo
c enddo
c
c G2.b. Indicate all vv in span that are satisfied by
c Chenault Algorithym II, 6m(1)m(2) + m(1) - m(2). This results from
c + * -, so we have a mc at 6(6m(1)m(2) + m(1) - m(2)) - 1. (is)
c
c do m1 = 1, upperm
c do m2 = 1, upperm
c ca2 = 6*m1*m2 + m1 - m2
c if ((ca2 .ge. lowervv) .and. (ca2 .le. uppervv)) then
c vv(ca2, 2) = 2
c endif
c enddo
c enddo
c
c
c G2.c. Indicate all vv in span that are satisfied by
c Chenault Algorithym III, 6m(1)m(2) - m(1) - m(2). This results from
c - * -, so we have a pc at 6(6m(1)m(2) - m(1) - m(2)) + 1. (is)
c
c do m1 = 1, upperm
c do m2 = 1, upperm
c ca3 = 6*m1*m2 - m1 - m2
c if ((ca3 .ge. lowervv) .and. (ca3 .le. uppervv)) then
c vv(ca3, 3) = 3
c endif
c enddo
c enddo
c
c
c -----------------------------------------------------------------------
c ------------------- ----------------------------------------------------
c -----------------------------------------------------------------------
c
c REPORTS SECTION
c
c
25 print *, ' '
print *, ' Save output to a file? or Print to screen F/S '
1 ' def = F'
print *, ' '
read (5, '(a)') output
if ((output .eq. ' ') .or. (output .eq.'f')) output = 'F'
if (output .eq. 'F') then
print *, 'input filename of file which will hold output of',
1 ' this run of the segment sieve.'
read (5, '(a)') filename
open (1, file = filename, status='UNKNOWN', err=10000)
endif
30 print *, ' Page 1 of choices'
print ' '
print *, 'This program can output any permutation of the',
1 ' 40 starred choices.'
c The non-starred choices are logistical.
print *, ' '
print *, '*1 The Twin prime table.',
cg Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 = pp and
c ((common void) * 6) - 1 = mp
c (is points)
1 ' (is points)'
print *, '*2 The Twin prime Pivot Point table.'
cg Note: The Married Plus and Married Minus
c Pivot Point tables are identical to
c (The Twin prime Pivot Point table).
c Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
print *, ' Note: The Married Plus and Married Minus Pivot',
1 ' Point tables are identical to '
print *, ' 2 (The Twin prime Pivot Point table). ',
1 ' (Vanitas Vector Points)'
print *, ' '
print *, '*3 The Married Plus prime table.',
cg pp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 is a married plus prime. (is points)
1 ' (is points)'
c pp that are part of a twin prime
print *, '*4 The Married Minus prime table.',
cg mp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) - 1 is a married minus prime. (is points)
1 ' (is points)'
print *, ' '
print *, '*5 The prime table.',
cg (includes the primes in (pp, mc) and (pc, mp) and (pp, mp))
c Note: The pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA2) * 6) + 1) is a pp.
c Note: The mp are detected by voids in the output from
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1) is a mp.
c (is points)
1 ' (is points)'
print *, '*6 The prime Pivot Point table.'
cg (includes the Pivot Points for pairs: (pp, mc) and (pc, mp) and (pp, mp))
c Note: The Pivot Points for pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: The Pivot Points for mp are detected by voids in output of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
print *, ' '
print *, '*7 The Plus prime table.',
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA3) * 6) + 1 = pp
c (is points)
1 ' (is points)'
print *, '*8 The Plus prime Pivot Point table.',
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
1 ' (Vanitas Vector Points)'
print *, ' '
print *, '*9 The Minus prime table.',
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (void in CA2) * 6) - 1 = mp
c (is points)
1 ' (is points)'
print *, '*10 The Pivot Point table for Minus primes.',
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 ' (Vanitas Vector Points)'
print *, ' '
print *, '*11 The Lonesome prime table.',
c *11 Lonesome prime table.
cg (the primes in (pp, mc) and (pc, mp) pairs)
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c NOTE:((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c and
c (pc,mp) detected by Pivot Point being a member of either or both
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
1 ' (is points)'
print *, '*12 The Lonesome prime Pivot Point table.',
cg Pivot Points for (pp, mc) or (pc, mp) pairs
c detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c and
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 ' (Vanitas Vector Points)'
print *, ' '
print *, '*13 The Lonesome Plus prime table.',
cg identifies primes from (pp,mc) pairs
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c (is points)
1 ' (is points)'
print *, '*14 The Lonesome Plus prime Pivot Point table.',
cg detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 ' (Vanitas Vector Points)'
print *, ' '
print *, '*15 The Lonesome Minus prime table.',
cg identifies primes from (pc,mp) pairs
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
1 ' (is points)'
print *, '*16 Pivot Point table for Lonesome Minus primes.',
cg detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 ' (Vanitas Vector Points)'
print *, ' '
print *, '*17 Composite table (all pc and all mc).',
cg pc detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
1 ' (is points)'
print *, '*18 Pivot Point table for all composites. ',
c *18 Pivot Point table for all composites (pc's and mc's).
cg Pivot Point for pc detected by being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c Pivot Point for mc detected by being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 '(Vanitas Vector Points)'
print *, ' '
print *, '41 All starred choices on page 1'
print *, ' If 42, 43, or 44 are chosen, no further options ',
1 'are offered'
print *, '42 All is starred results, all pages (is points)'
print *, '43 All vv starred results, all pages ',
1 '(Vanitas Vector Points)'
print *, '44 All 40 starred choices (is and Vanitas Vector)'
print *, ' '
print *, 'Type line number(s) of outputs desired from this page ',
1 ' , separated by commas.'
print *, ' (use only 1 line) (do not type * or spaces(blanks)'
read (5, '(a)') choices
oldpos = 0 ! indicate that no commas in string have been found so far
if (choices(1:1) .eq. ' ') go to 40 ! blank line
do i = 1, 80
if ((choices(i:i) .eq. ',') .or. (choices(i:i) .eq. ' ')) then
c if a comma is found, process here
c if a blank is found, we assume last input
if ((i - oldpos) .eq. 3) then
isubscript = ((ichar(choices((oldpos+1):(i-2)))) -48)*10
isubscript = isubscript +
1 (ichar(choices((oldpos+2):(i-1)))) - 48
ichoice (isubscript) = isubscript
else
ichoice((ichar(choices((oldpos+1):(i-1)))) - 48) ! turn on option
1 = (ichar(choices((oldpos+1):(i-1)))) - 48
endif
oldpos = i ! mark position of this comma
endif
if (choices(i:i) .eq. ' ') go to 40 ! if we have blank, exit parse
enddo
40 oldpos = 0 ! clear for next string test
c 41 test for Chose all starred choices on this page
if (ichoice(41) .eq. 41) then
do i = 1, 18
ichoice(i) = i
enddo
ichoice(41) = 0
endif
c 42 test for All is starred results, all pages (is points only)
if (ichoice(42) .eq. 42) then
ichoice(1) = 1 ! The Twin prime table.
cg Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 = pp and
c ((common void) * 6) - 1 = mp
c (is points)
ichoice(3) = 3 ! The Married Plus prime table.
cg pp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 is a married plus prime. (is points)
c (is points)
ichoice(4) = 4 ! The Married Minus prime table.
cg mp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) - 1 is a married minus prime. (is points)
c (is points)
ichoice(5) = 5 ! The prime table. (is points)
cg (includes the primes in (pp, mc) and (pc, mp) and (pp, mp))
c Note: The pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA2) * 6) + 1) is a pp.
c Note: The mp are detected by voids in the output from
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1) is a mp.
c (is points)
ichoice(7) = 7 ! The Plus prime table.
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA3) * 6) + 1 = pp
c (is points)
ichoice(9) = 9 ! The Minus prime table.
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (void in CA2) * 6) - 1 = mp
c (is points)
ichoice(11) = 11 ! The Lonesome prime table. (is points)
cg (the primes in (pp, mc) and (pc, mp) pairs)
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c NOTE:((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c and
c (pc,mp) detected by Pivot Point being a member of either or both
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
ichoice(13) = 13 ! The Lonesome Plus prime table. (is points)
cg identifies primes from (pp,mc) pairs
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c (is points)
ichoice(15) = 15 ! The Lonesome Minus prime table. (is points)
cg identifies primes from (pc,mp) pairs
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
ichoice(17) = 17 ! Composite table (all pc and all mc).
cg pc detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
ichoice(19) = 19 ! The pc table.
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (is points)
ichoice(21) = 21 ! The Minus Composite table. (is points)
c 21 mc table
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
ichoice(23) = 23 ! The pc table generated by
c CA1 = 36m(1)m(2) + 6m(1) + 6m(2) + 1
cg those pc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) + m(2) = CA1
c ((member of CA1) * 6) + 1 = pc
c (is points)
ichoice(24) = 24 ! Voids in pc composite table generated by
cg 36m(1)m(2) + 6m(1) + 6m(2) + 1 (CA1)(is points)
c ((n * 6) + 1) Voids in pc table generated by (CA1 * 6) + 1
c (is points)
ichoice(27) = 27 ! The mc composite table generated by
c 36m(1)m(2) + 6m(1) - 6m(2) - 1 (is points)
cg The mc table is detected by a Pivot Point being generated by CA2.
c ((member of CA2) * 6) - 1 = mc
c (is points)
ichoice(28) = 28 ! Voids(mp) in mc table generated by
c 36m(1)m(2) + 6m(1) - 6m(2) - 1
c ((n * 6) -1) = mp voids in mc table generated by
cg 36m(1)m(2) +6m(1) -6m(2) -1 = (CA2 * 6) - 1
c ((void of CA2) * 6) - 1 = mp
c (is points)
ichoice(31) = 31 ! The mc table generated by
c 36m(1)m(2) - 6m(1) + 6m(2) - 1
cg is identical to 27 output since m(1) and m(2) are interchangeable.
c (is points)
c is identical to 31 output. (is points)
ichoice(32) = 32 ! ((n * 6) -1) Voids(mp's) in mc table generated
cg by 36m(1)m(2) - 6m(1) + 6m(2) - 1
c is identical to 28 output. (is points)
c (is points)
ichoice(35) = 35 ! pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1 = (CA3 * 6) + 1
c (is points)
ichoice(36) = 36 ! Voids in plus composite(pc) table generated by
c 36m(1)m(2) - 6m(1) - 6m(2) + 1 (CA3)(is points)
c (is points)
endif
c 43 test for All vv starred results, all pages
c (Vanitas Vector Points)
if (ichoice(43) .eq. 43) then
ichoice(2) = 2 ! The Twin prime Pivot Point table.
cg 2. The Twin prime Pivot Point table.
c Note: The Married Plus and Married Minus
c Pivot Point tables are identical to
c (The Twin prime Pivot Point table).
c Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
ichoice(6) = 6 ! The prime Pivot Point table.
cg (includes the Pivot Points for pairs: (pp, mc) and (pc, mp) and (pp, mp))
c Note: The Pivot Points for pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: The Pivot Points for mp are detected by voids in output of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
ichoice(8) = 8 ! The Plus prime Pivot Point table.
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
ichoice(10) = 10 ! The Pivot Point table for Minus primes.
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
ichoice(12) = 12 ! The Lonesome prime Pivot Point table.
cg Pivot Points for (pp, mc) or (pc, mp) pairs
c detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c and
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
ichoice(14) = 14 ! The Lonesome Plus prime Pivot Point table.
cg detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
ichoice(16) = 16 ! Pivot Point table for Lonesome Minus primes.
cg detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
ichoice(18) = 18 ! Pivot Point table for all composites.
c 18 Pivot Point table for all composites (pc's and mc's).
cg Pivot Point for pc detected by being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c Pivot Point for mc detected by being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
ichoice(20) = 20 ! Plus Compromised Pivot Point table.
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c (Vanitas Vector Points)
ichoice(22) = 22 ! The Minus Composite Pivot Point table.
c 22 Pivot Point table for mc.
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
ichoice(25) = 25 ! The Pivot Point table generated by CA1
cg (Vanitas Vector Points)
ichoice(26) = 26 ! Voids in the Pivot Point table generated by CA1
cg = Chenault Algorithym I = 6m(1)m(2) + m(1) + m(2)
c (Vanitas Vector Points)
ichoice(29) = 29 ! The Pivot Point table for mc's can be generated
c by CA2 = 6m(1)m(2) + m(1) - m(2)
c (6 * (member of CA2)) - 1 = mc
c (Vanitas Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) - m(1) + m(2)
ichoice(30) = 30 ! Voids in the Pivot Point table generated by CA2=
cg 6m(1)m(2) + m(1) - m(2)
c note: these voids are Pivot Points for mp
c (Vanitas Vector Points)
ichoice(33) = 33 ! The Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c (Vanita's Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) + m(1) - m(2) = CA2
c (is identical to 29 output)
ichoice(34) = 34 ! Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c is identical to 30 output.
c (Vanitas Vector Points)
ichoice(37) = 37 ! Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
ichoice(38) = 38 ! Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
ichoice(39) = 39 ! Pivot Point table generated by combining the
cg 6m(1)m(2) + m(1) + m(2) = CA1
c and 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (Vanitas Vector Points)
ichoice(40) = 40 ! voids in Pivot Points table generated by
cg combining output from 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((commom void for CA1 and CA3) * 6) + 1 = pp
c (Vanitas Vector Points)
endif
c 44 test for All pages starred choices (is and Vanitas Vector)
if (ichoice(44) .eq. 44) then
do i = 1, 40 ! all starred choices
ichoice(i) = i
enddo
c keep going and start to process
endif
c
c 1. The Twin prime table.
cg Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 = pp and
c ((common void) * 6) - 1 = mp
c (is points)
c
cg 2. The Twin prime Pivot Point table.
c Note: The Married Plus and Married Minus
c Pivot Point tables are identical to
c (The Twin prime Pivot Point table).
c Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
c
cg 3. The Married Plus prime table.
c pp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 is a married plus prime. (is points)
c
c 4. The Married Minus prime table.
cg mp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) - 1 is a married minus prime. (is points)
c (is points)
c
c 5. The prime table
cg (includes the primes in (pp, mc) and (pc, mp) and (pp, mp))
c Note: The pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA2) * 6) + 1) is a pp.
c Note: The mp are detected by voids in the output from
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1) is a mp.
c (is points)
c
c 6. The prime Pivot Point table.
cg (includes the Pivot Points for pairs: (pp, mc) and (pc, mp) and (pp, mp))
c Note: The Pivot Points for pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: The Pivot Points for mp are detected by voids in output of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 7. The Plus prime table.
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA3) * 6) + 1 = pp
c (is points)
c
c 8. The Plus prime Pivot Point table. (Vanita's Vector Points)
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
c
c 9. The Minus prime table.
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (void in CA2) * 6) - 1 = mp
c (is points)
c
c 10. The Pivot Point table for Minus primes.
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 11. The Lonesome prime table.
cg (the primes in (pp, mc) and (pc, mp) pairs)
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c NOTE:((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c and
c (pc,mp) detected by Pivot Point being a member of either or both
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
c
c 12. The Lonesome prime Pivot Point table.
cg Pivot Points for (pp, mc) or (pc, mp) pairs
c detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c and
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 13. The Lonesome Plus prime table.
cg identifies primes from (pp,mc) pairs
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c 14. The Lonesome Plus Pivot Point table.
cg detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 15. The Lonesome Minus prime table.
cg identifies primes from (pc,mp) pairs
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
c
c 16. Pivot Point table for Lonesome Minus primes.
cg detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 17. Composite table (all pc and all mc).
cg pc detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c 18. Pivot Point table for all composites(pc's and mc's).
cg Pivot Point for pc detected by being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c Pivot Point for mc detected by being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 19. The pc table.
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (is points)
c
c 20. Plus Compromised Pivot Point table.
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c (Vanitas Vector Points)
c
c 21. mc table
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c 22. Pivot Point table for mc.
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
c
c 23. The pc table generated by CA1
cg those pc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) + m(2) = CA1
c ((member of CA1) * 6) + 1 = pc
c (is points)
c
c 24. ((n * 6) + 1) Voids in pc table generated by (CA1 * 6) + 1
cg (is points)
c
c 25. The Pivot Point table generated by CA1
cg (Vanitas Vector Points)
c
c 26. Voids in the Pivot Point table generated by CA1
cg = Chenault Algorithym I = 6m(1)m(2) + m(1) + m(2)
c (Vanitas Vector Points)
c
c 27. The mc table is detected Pivot Point being generated by CA2
cg (is points)
c ((member of CA2) * 6) - 1 = mc
c (is points)
c
c 28. voids(mp) in mc table generated by 36m(1)m(2) +6m(1) -6m(2) -1
cg ((void of CA2) * 6) - 1 = mp
c (is points)
c
c 29. The Pivot Point table for mc's can be generated by
cg CA2 = 6m(1)m(2) + m(1) - m(2)
c (6 * (member of CA2)) - 1 = mc
c (Vanitas Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) - m(1) + m(2)
c
c 30. Voids in the Pivot Point table generated by CA2 =
cg 6m(1)m(2) + m(1) - m(2)
c note: these voids are Pivot Points for mp
c (Vanita's Vector Points)
c
c 31. The mc table generated by 36m(1)m(2) - 6m(1) + 6m(2) - 1
cg is identical to 27 output since m(1) and m(2) are interchangeable.
c (is points)
c
c 32. ((n * 6) -1 ) Voids(these are mp) in the mc table generated by
cg 36m(1)m(2) - 6m(1) + 6m(2) -1
c is identical to 28 output.
c (is points)
c
c 33. The Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2) = CA2
c (Vanita's Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) + m(1) - m(2) = CA2
c (is identical to 29 output)
c
c 34. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c (identical to 30 output)
c (Vanita's Vector Points)
c
c 35. pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1 = (CA3 * 6) + 1
c (is points)
c
c 36. ((n*6)+1) voids (possible pp) in pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1
c (is points)
c
c 37. Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
c
c 38. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
c
c 39. Pivot Point table generated by combining the output from
cg 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (Vanitas Vector Points)
c
c 40. voids in Pivot Points table generated by
cg combining output from 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((commom void for CA1 and CA3) * 6) + 1 = pp
c (Vanitas Vector Points)
c
c *1 Twin prime table
cg Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 = pp and
c ((common void) * 6) - 1 = mp
c (is points)
if (ichoice(1) .eq. 1) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 1. Twin prime table (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 1. Twin prime table (is points)'
endif
c do i = lowervv, uppervv
c print *, ' vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. (vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write(1, *) ' twin prime at', ((6 * i) - 1),
1 ',',((6 * i) + 1)
else
print *, ' twin prime at ', ((6 * i) - 1), ' , ',
1 ((6 * i) + 1)
endif
endif
enddo
endif
c *2 Pivot Point table for Twin primes. (Vanitas Vector Points)
cg 2. The Twin prime Pivot Point table.
c Note: The Married Plus and Married Minus
c Pivot Point tables are identical to
c (The Twin prime Pivot Point table).
c Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
if (ichoice(2) .eq. 2) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 2. Pivot Point table for Twin primes. ',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 2. Pivot Point table for Twin primes. ',
1 ' (Vanitas Vector Points)'
endif
c do i =lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. (vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for twin prime at ',
1 'vv(', i, ')'
else
print *, ' Pivot Point for twin prime at ',
1 'vv(', i, ')'
endif
endif
enddo
endif
c *3 Married Plus prime table.
cg pp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 is a married plus prime. (is points)
if (ichoice(3) .eq. 3) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 3. Married Plus prime table. (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 3. Married Plus prime table. (is points)'
endif
c do i = lowervv, uppervv
print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. (vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) ' Married Plus prime at ', (6*i) + 1
else
print *, ' Married Plus prime at ', (6*i) + 1
endif
endif
enddo
endif
c *4 Married Minus prime table. (is points)
cg mp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) - 1 is a married minus prime. (is points)
if (ichoice(4) .eq. 4) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 4. Married Minus prime table. (is points) '
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 4. Married Minus prime table. (is points) '
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. (vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) ' Married Minus prime at ', (6*i)-1
else
print *, ' Married Minus prime at ', (6*i) - 1
endif
endif
enddo
endif
c Note: The Married Plus and Married Minus Pivot Point tables
c are identical to 2 (The Twin prime Pivot Point table).
c (Vanitas Vector Points)
c *5 prime table. (is points)
cg (includes the primes in (pp, mc) and (pc, mp) and (pp, mp))
c Note: The pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA2) * 6) + 1) is a pp.
c Note: The mp are detected by voids in the output from
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1) is a mp.
c (is points)
if (ichoice(5) .eq. 5) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 5. prime table. (is points) '
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 5. prime table. (is points) '
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) ' prime at ', ((6 * i) - 1)
else
print *, ' prime at ', ((6 * i) - 1)
endif
endif
if ((vv(i,1) .eq. 0) .and. (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) ' prime at ', ((6 * i) + 1)
else
print *, ' prime at ', ((6 * i) + 1)
endif
endif
enddo
endif
c *6 Pivot Point table for primes.
cg (includes the Pivot Points for pairs: (pp, mc) and (pc, mp) and (pp, mp))
c Note: The Pivot Points for pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: The Pivot Points for mp are detected by voids in output of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
if (ichoice(6) .eq. 6) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 6. Pivot Point table for primes. ',
1 ' (Vanitas Vector Points) '
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 6. Pivot Point table for primes. ',
1 ' (Vanitas Vector Points) '
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for minus prime at ',
1 i
else
print *, ' Pivot Point for minus prime at ', i
endif
endif
if ((vv(i,1) .eq. 0) .and. (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) ' Pivot point for plus prime at ',
1 i
else
print *, ' Pivot point for plus prime at ', i
endif
endif
enddo
endif
c *7 Plus prime table.
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA3) * 6) + 1 = pp
c (is points)
if (ichoice(7) .eq. 7) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 7. Plus prime table. (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 7. Plus prime table. (is points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,1) .eq. 0) .and. (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) ' plus prime at ', (6 * i) + 1
else
print *, ' plus prime at ', (6 * i) + 1
endif
endif
enddo
endif
c *8 Pivot Point table for Plus primes.
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
if (ichoice(8) .eq. 8) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 8. Pivot Point table for Plus primes',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 8. Pivot Point table for Plus primes',
1 ' (Vanitas Vector Points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,1) .eq. 0) .and. (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for Plus prime at ',i
else
print *, ' Pivot Point for Plus prime at ', i
endif
endif
enddo
endif
c *9 Minus prime table. (is points)
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (void in CA2) * 6) - 1 = mp
c (is points)
if (ichoice(9) .eq. 9) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 9. Minus prime table. (is points) '
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 9. Minus prime table. (is points) '
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) ' Minus prime at ', (6 * i ) - 1
else
print *, ' Minus prime at ', (6 * i ) - 1
endif
endif
enddo
endif
c *10 Pivot Point table for Minus primes.
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
if (ichoice(10) .eq. 10) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 10. Pivot Point table for Minus primes. ',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 10. Pivot Point table for Minus primes. ',
1 ' (Vanitas Vector Points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for Minus prime',
1 ' at', i
else
print *, ' Pivot Point for Minus prime at ', i
endif
endif
enddo
endif
c *11 Lonesome prime table.
cg (the primes in (pp, mc) and (pc, mp) pairs)
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c NOTE:((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c and
c (pc,mp) detected by Pivot Point being a member of either or both
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
if (ichoice(11) .eq. 11) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 11. Lonesome prime table. (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 11. Lonesome prime table. (is points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. ((vv(i,1) .ne. 0) .or.
1 (vv(i,3) .ne. 0))) then
if (output .eq. 'F') then
write (1, *) ' Lonesome prime at ',(6 * i ) - 1
else
print *, ' Lonesome prime at ', (6 * i ) - 1
endif
endif
if ((vv(i,2) .ne. 0) .and. ((vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0))) then
if (output .eq. 'F') then
write (1, *) ' Lonesome prime at ',(6 * i ) +1
else
print *, ' Lonesome prime at ', (6 * i ) + 1
endif
endif
enddo
endif
c *12 Pivot Point table for Lonesome primes.
cg Pivot Points for (pp, mc) or (pc, mp) pairs
c detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c and
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
if (ichoice(12) .eq. 12) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 12. Pivot Point table for Lonesome primes.',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 12. Pivot Point table for Lonesome primes.',
1 ' (Vanitas Vector Points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. ((vv(i,1) .ne. 0) .or.
1 (vv(i,3) .ne. 0))) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for Lonesome ',
1 'prime at ', i
else
print *, ' Pivot Point for Lonesome ',
1 'prime at ', i
endif
endif
if ((vv(i,2) .ne. 0) .and. ((vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0))) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for Lonesome ',
1 'prime at ', i
else
print *, ' Pivot Point for Lonesome ',
1 'prime at ', i
endif
endif
enddo
endif
c *13 Lonesome Plus prime table.
cg identifies primes from (pp,mc) pairs
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c (is points)
if (ichoice(13) .eq. 13) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 13. Lonesome Plus prime table. (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 13. Lonesome Plus prime table. (is points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .ne. 0) .and. ((vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0))) then
if (output .eq. 'F') then
write (1, *) ' Lonesome Plus prime at ',
1 (6 * i) + 1
else
print *, ' Lonesome Plus prime at ', (6 * i) + 1
endif
endif
enddo
endif
c *14 Pivot Point table for Lonesome Plus primes.
cg detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
if (ichoice(14) .eq. 14) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 14. Pivot Point table for Lonesome Plus ',
1 'primes. (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 14. Pivot Point table for Lonesome Plus ',
1 'primes. (Vanitas Vector Points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .ne. 0) .and. ((vv(i,1) .eq. 0) .and.
1 (vv(i,3) .eq. 0))) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for Lonesome Plus ',
1 'prime at ', i
else
print *, ' Pivot Point for Lonesome Plus prime',
1 ' at ', i
endif
endif
enddo
endif
c *15 Lonesome Minus prime table.
cg identifies primes from (pc,mp) pairs
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
if (ichoice(15) .eq. 15) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '15. Lonesome Minus prime table. (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '15. Lonesome Minus prime table. (is points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. ((vv(i,1) .ne. 0) .or.
1 (vv(i,3) .ne. 0))) then
if (output .eq. 'F') then
write (1, *) ' Lonesome Minus prime at ',
1 (6 * i) - 1
else
print *, ' Lonesome Minus prime at ', (6 * i) - 1
endif
endif
enddo
endif
c *16 Pivot Point table for Lonesome Minus primes.
cg detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
if (ichoice(16) .eq. 16) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 16. Pivot Point table for Lonesome Minus ',
1 'primes. (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 16. Pivot Point table for Lonesome Minus ',
1 'primes. (Vanitas Vector Points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,2) .eq. 0) .and. ((vv(i,1) .ne. 0) .or.
1 (vv(i,3) .ne. 0))) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for Lonesome Minus ',
1 'prime at ', i
else
print *, ' Pivot Point for Lonesome Minus ',
1 'prime at ', i
endif
endif
enddo
endif
c *17 Composite table (all pc and all mc).
cg pc detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
if (ichoice(17) .eq. 17) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 17. (n*6)+-1 composite table. (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 17. (n*6)+-1 composite table. (is points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if (vv(i,2) .ne. 0) then
if (output .eq. 'F') then
write (1, *) ' mc at ', (6 * i) - 1
else
print *, ' mc at ', (6 * i) - 1
endif
endif
if ((vv(i,1) .ne. 0) .or. (vv(i,3) .ne. 0)) then
if (output .eq. 'F') then
write (1, *) ' pc at ', (6 * i) + 1
else
print *, ' pc at ', (6 * i) + 1
endif
endif
enddo
endif
if (ichoice(18) .eq. 18) then
c *18 Pivot Point table for all composites (pc's and mc's).
cg Pivot Point for pc detected by being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c Pivot Point for mc detected by being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 18. Pivot Point table for (n*6)+-1 ',
1 'composites. (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 18. Pivot Point table for (n*6)+-1 ',
1 'composites. (Vanitas Vector Points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if (vv(i,2) .ne. 0) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for mc at ', i
else
print *, ' Pivot Point for mc at ', i
endif
endif
if ((vv(i,1) .ne. 0) .or. (vv(i,3) .ne. 0)) then
if (output .eq. 'F') then
write (1, *) ' Pivot Point for pc at ', i
else
print *,' Pivot Point for pc at ', i
endif
endif
enddo
endif
if (ichoice(42) .eq. 42) go to 65
if (ichoice(43) .eq. 43) go to 65
if (ichoice(44) .eq. 44) go to 65
50 print *, ' Page 2 of choices'
print *, ' '
print *, '45 Examine starred choices made from page 1 in this '
print *, ' version of program Segment Sieve, then repeat page 2'
print *, '46 Clear Page 1 Choices and Repeat page 1'
print *, '47 Keep Page 1 Choices and Repeat page 1'
print *, ' '
print *, '*19 The pc table.',
c a pc is detected by a Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c (is points)
1 ' (is points)'
print *, '*20 Pivot Point table for pc.',
c a Pivot Point table for pc's is detected by being a
c member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
1 ' (Vanitas Vector Points)'
print *, '*21 mc table.'
c 21. mc table
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
print *, ' each point generated by ((CA2 member) * 6) - 1',
1 ' (is points)'
print *, '*22 Pivot Point table for mc.',
c 22. Pivot Point table for mc.
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 ' (Vanitas Vector Points)'
print *, '*23 The pc table generated by ',
cg pc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) + m(2) = CA1
c ((member of CA1) * 6) + 1 = pc
c (is points)
1 '36m(1)m(2) + 6m(1) + 6m(2) + 1 = (CA1 * 6) + 1'
print *, ' (is points)'
print *, '*24 ((n * 6) + 1) Voids in pc table generated by ',
c *24 ((n * 6) + 1) Voids in pc table generated by (CA1 * 6) + 1
cg (is points)
1 '(CA1 * 6) + 1'
print *, ' (is points)'
print *, '*25 The Pivot Point table generated by'
c The Pivot Point table generated by CA1
cg (Vanitas Vector Points)
print *, ' 6m(1)m(2) + m(1) + m(2) = CA1',
1 ' (Vanitas Vector Points)'
print *, '*26 Voids in the Pivot Point table generated by CA1'
c 26. Voids in the Pivot Point table generated by CA1
cg = 6m(1)m(2) + m(1) + m(2)
c (Vanitas Vector Points)
print *, ' 6m(1)m(2) + m(1) + m(2) = CA1',
1 ' (Vanitas Vector Points)'
print *, ' '
print *, '*27 The mc table generated by'
c The mc table detected by Pivot Point generated by CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
print *, ' 36m(1)m(2) + 6m(1) - 6m(2) - 1 '
print *, ' ((member of CA2) * 6) - 1 = mc'
print *, ' (is points)'
print *, '*28 Voids (mp pp) in mc table generated by'
c 28. voids(mp) in mc table generated by 36m(1)m(2) +6m(1) -6m(2) -1
cg ((void of CA2) * 6) - 1 = mp
c (is points)
print *, ' 36m(1)m(2) + 6m(1) - 6m(2) - 1 '
print *, ' ((void of CA2) * 6) - 1 = mp'
print *, ' (is points)'
print *, '*29 The Pivot Point table for mc can be generated by ',
c *29 The Pivot Point table for mc's can be generated by
cg CA2 = 6m(1)m(2) + m(1) - m(2)
c (6 *(member of CA2)) - 1 = mc
c (Vanitas Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) - m(1) + m(2)
1 ' CA2 = 6m(1)m(2) + m(1) - m(2)'
print *, ' (6 *(member of CA2)) - 1 = mc',
1 ' (Vanitas Vector Points)'
print *, '*30 Voids in the Pivot Point table generated by'
c *30 Voids in the Pivot Point table generated by CA2 =
cg 6m(1)m(2) + m(1) - m(2)
c note: these voids are Pivot Points for mp
c (Vanitas Vector Points)
print *, ' 6m(1)m(2) + m(1) - m(2) = CA2',
1 ' (Vanitas Vector Points)'
print *, ' note: these voids are Pivot Points for mp'
print *, '*31 The mc table generated by '
c *31 The mc table generated by 36m(1)m(2) - 6m(1) + 6m(2) - 1
cg is identical to 27 output since m(1) and m(2) are interchangeable.
c (is points)
print *, ' 36m(1)m(2) - 6m(1) + 6m(2) - 1',
1 'is identical to 27 output. (is points)'
print *, ' '
print *, '48 All starred choices on page 2'
print *, ' '
print *, 'Type line number(s) of outputs desired from this page ',
1 ' , separated by commas.'
print *, ' (use only 1 line) (do not type * or spaces(blanks)'
read (5, '(a)') choices
oldpos = 0 ! indicate that no commas have been in string found so far
if (choices(1:1) .eq. ' ') go to 60 ! blank line
do i = 1, 80
if ((choices(i:i) .eq. ',') .or. (choices(i:i) .eq. ' ')) then
c if a comma is found, process here
c if a blank is found, we assume last input
if ((i - oldpos) .eq. 3) then
isubscript = ((ichar(choices((oldpos+1):(i-2)))) -48)*10
isubscript = isubscript +
1 (ichar(choices((oldpos+2):(i-1)))) - 48
ichoice (isubscript) = isubscript
else
ichoice((ichar(choices((oldpos+1):(i-1)))) - 48) ! turn on option
1 = (ichar(choices((oldpos+1):(i-1)))) - 48
endif
oldpos = i ! mark position of this comma
endif
if (choices(i:i) .eq. ' ') go to 60 ! if we have blank, exit parse
enddo
60 oldpos = 0 ! clear for next string test
c 45 Examine starred choices made from page 1 in this version of program
c Segment Sieve, then repeat page 2
if (ichoice(45) .eq. 45) then
print *, 'Starred choices you made from page 1 were:'
if (ichoice(1) .eq. 1)
1 print *, ' 1 The Twin prime table. (is points)'
cg Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 = pp and
c ((common void) * 6) - 1 = mp
c (is points)
if (ichoice(2) .eq. 2) then
cg 2. The Twin prime Pivot Point table.
c Note: The Married Plus and Married Minus
c Pivot Point tables are identical to
c (The Twin prime Pivot Point table).
c Note: detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
print *, ' 2 The Twin prime Pivot Point table'
print *, 'Note: The Married Plus and Married Minus Pivot'
print *, ' Point tables are identical to '
print *, ' (The Twin prime Pivot Point table).'
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(3) .eq. 3)
cg pp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) + 1 is a married plus prime. (is points)
1 print *, ' 3 The Married Plus prime table. (is points)'
if (ichoice(4) .eq. 4)
cg mp that are part of a twin prime pair
c Note: Twin primes are detected by common voids in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) + m(1) - m(2) = CA2 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((common void) * 6) - 1 is a married minus prime. (is points)
1 print *, ' 4 The Married Minus prime table. (is points)'
if (ichoice(5) .eq. 5)
cg (includes the primes in (pp, mc) or (pc, mp) or (pp, mp))
cg (includes the primes in (pp, mc) or (pc, mp) or (pp, mp))
c Note: The pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA2) * 6) + 1) is a pp.
c Note: The mp are detected by voids in the output from
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1) is a mp.
c (is points)
1 print *, ' 5 The prime table. (is points)'
if (ichoice(6) .eq. 6)
cg includes Pivot Points for (pp, mc) or (pc, mp) or (pp, mp)
c Note: The Pivot Points for pp are detected by common voids
c in the output from
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: The Pivot Points for mp are detected by voids in output of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 print *, ' 6 The prime Pivot Point table. ',
2 '(Vanitas Vector Points)'
if (ichoice(7) .eq. 7)
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((common void of CA1 and CA3) * 6) + 1 = pp
c (is points)
1 print *, ' 7 The Plus prime table. (is points)'
if (ichoice(8) .eq. 8)
cg Note: detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
1 print *, ' 8 The Plus prime Pivot Point table. ',
2 '(Vanitas Vector Points)'
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (void) * 6) - 1 = mp (is points)
if (ichoice(9) .eq. 9)
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (void in CA2) * 6) - 1 = mp
c (is points)
1 print *, ' 9 The Minus prime table. (is points)'
if (ichoice(10) .eq. 10)
cg Note: detected by voids in
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 print *, '10 The Minus prime Pivot Point table. ',
2 '(Vanitas Vector Points)'
if (ichoice(11) .eq. 11)
cg (the primes in (pp, mc) and (pc, mp) pairs)
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c NOTE:((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c and
c (pc,mp) detected by Pivot Point being a member of either or both
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
1 print *, '11 The Lonesome prime table. (is points)'
if (ichoice(12) .eq. 12)
cg Pivot Points for (pp, mc) or (pc, mp) pairs
c detected by common voids in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c and
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 print *, '12 The Lonesome prime Pivot Point table. ',
2 '(Vanitas Vector Points)'
if (ichoice(13) .eq. 13)
cg identifies primes from (pp,mc) pairs
c (pp,mc) detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((common void of CA1 and CA3) * 6) + 1 = pp
c ((member of CA2) * 6) - 1 = mc
c (is points)
1 print *, '13 The Lonesome Plus prime table. (is points)'
if (ichoice(14) .eq. 14)
cg detected by Pivot Point being a common void in
c 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c and Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 print *, '14 The Lonesome Plus prime Pivot Point table ',
2 '(Vanitas Vector Points)'
if (ichoice(15) .eq. 15)
cg identifies primes from (pc,mp) pairs
c detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c and Pivot Point being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((void of CA2) * 6) - 1 = mp
c (is points)
1 print *, '15 The Lonesome Minus prime table. (is points)'
if (ichoice(16) .eq. 16)
cg detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c and being a void of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
1 print *, '16 The Lonesome Minus prime Pivot Point table.',
2 '(Vanitas Vector Points)'
if (ichoice(17) .eq. 17)
c *17 Composite table (all pc and all mc).
cg pc detected by Pivot Point being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
1 print *, '17 The Composite table (all pc and all mc).'
if (ichoice(18) .eq. 18) then
c *18 Pivot Point table for all composites (pc's and mc's).
cg Pivot Point for pc detected by being a member of either (or both)
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3
c Pivot Point for mc detected by being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
print *, '18 Pivot Point table for all composites (pc ',
1 'and mc) '
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(19) .eq. 19)
1 print *, '19 The pc table.'
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (is points)
if (ichoice(20) .eq. 20) then
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c (Vanitas Vector Points)
print *, ' Note: This is the combination of points ',
1 'generated'
print *, ' by Chenault Algorithyms I and III.'
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(21) .eq. 21) then
c 21 mc table
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
print *, '21 The mc table. (is points)'
print *, ' ((each point generated by CA2) * 6) + 1 ',
1 ' = mc'
endif
if (ichoice(22) .eq. 22) then
c 22. Pivot Point table for mc.
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
print *, '22 Pivot Point table for mc. '
print *, ' mc detected by Pivot Point being a member'
print *, ' of 6m(1)m(2) + m(1) - m(2) = CA2'
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(23) .eq. 23) then
cg those pc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) + m(2) = CA1
c ((member of CA1) * 6) + 1 = pc
c (is points)
print *, '((member of CA1) * 6) + 1 = pc'
print *, ' (is points)'
endif
if (ichoice(24) .eq. 24) then
c ((n * 6) + 1) Voids in pc table generated by (CA1 * 6) + 1
cg (is points)
print *, '*24 ((n * 6) + 1) Voids in pc table generated by',
1 ' (CA1 * 6) + 1'
print *, ' (is points)'
endif
if (ichoice(25) .eq. 25) then
c The Pivot Point table generated by CA1
cg (Vanitas Vector Points)
print *, '25 The Pivot Point table generated by CA1'
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(26) .eq. 26) then
c 26. Voids in the Pivot Point table generated by CA1
cg = Chenault Algorithym I = 6m(1)m(2) + m(1) + m(2)
c (Vanitas Vector Points)
print *, '26 Voids in the Pivot Point ',
1 'table generated by CA1 = '
print *, '6m(1)m(2) + m(1) + m(2) '
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(27) .eq. 27) then
c The mc table is detected by a Pivot Point being generated by
c CA2.
c ((member of CA2) * 6) - 1 = mc
c (is points)
endif
if (ichoice(28) .eq. 28) then
c 28. voids(mp) in mc table generated by 36m(1)m(2) +6m(1) -6m(2) -1
cg ((void of CA2) * 6) - 1 = mp
c (is points)
print *, '28 Voids(mp) in mc table generated by'
print *, ' 36m(1)m(2) + 6m(1) - 6m(2) - 1 ',
1 '= (CA2 * 6) - 1 (is points)'
endif
if (ichoice(29) .eq. 29) then
c 29. The Pivot Point table for mc's can be generated by
cg CA2 = 6m(1)m(2) + m(1) - m(2)
c (6 * (member of CA2)) - 1 = mc
c (Vanitas Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) - m(1) + m(2)
print *, '29 The Pivot Point table for mc is ',
1 'identical to the'
print *, 'Pivot Point table generated by '
print *, '6m(1)m(2) + m(1) - m(2) = CA2'
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(30) .eq. 30) then
c 30 Voids in the Pivot Point table generated by CA2 =
cg 6m(1)m(2) + m(1) - m(2)
c note: these voids are Pivot Points for mp
c (Vanitas Vector Points)
print *, '30 Voids in the Pivot Point table generated by'
print *, ' 6m(1)m(2) + m(1) - m(2) = CA2 '
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(31) .eq. 31) then
c 31. The mc table generated by 36m(1)m(2) - 6m(1) + 6m(2) - 1
cg is identical to 27 output since m(1) and m(2) are interchangeable.
c (is points)
print *, '31 The mc composite table generated by'
print *, ' 36m(1)m(2) - 6m(1) + 6m(2) - 1 ',
1 'is identical to 27 output. (is points)'
endif
if (ichoice(32) .eq. 32) then
c 32. ((n * 6) -1 ) Voids(these are mp) in the mc table generated by
cg 36m(1)m(2) - 6m(1) + 6m(2) -1
c is identical to 28 output.
c (is points)
print *, '32 Voids(mp) in mc table generated by'
print *, ' 36m(1)m(2) - 6m(1) + 6m(2) - 1 ',
1 'is identical to 28 output. (is points)'
endif
if (ichoice(33) .eq. 33) then
c 33. The Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2) = CA2
c (Vanita's Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) + m(1) - m(2) = CA2
c (is identical to 29 output)
print *, '33 The Pivot Point table ',
1 'generated by'
print *, ' 6m(1)m(2) - m(1) + m(2)'
print *, ' is identical to 29 output.'
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(34) .eq. 34) then
c 34. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c (identical to 30 output)
c (Vanita's Vector Points)
print *, '34 Voids in the Pivot Point ',
1 'table generated by'
print *, ' 6m(1)m(2) - m(1) + m(2) '
print *, ' is identical to 30 output.',
1 ' (Vanitas Vector Points)'
endif
if (ichoice(35) .eq. 35) then
c 35. pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1 = (CA3 * 6) + 1
c (is points)
print *, '35 The pc table generated by '
print *, '36m(1)m(2) - 6m(1) - 6m(2) + 1 '
print *, ' = (6 * (member of CA3)) + 1 ',
1 ' (is points)'
endif
if (ichoice(36) .eq. 36) then
c 36. ((n*6)+1) voids (possible pp) in pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1
c (is points)
print *, '36 ((n*6)+1) voids (possible pp) in pc table '
1 'generated by '
print *, '36m(1)m(2) - 6m(1) - 6m(2) + 1 (CA3) ',
1 '(is points)'
endif
if (ichoice(37) .eq. 37) then
c 37. Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
print *, '37 Pivot Point table generated by '
print *, ' 6m(1)m(2) - m(1) - m(2) = CA3 '
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(38) .eq. 38) then
c 38. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
print *, '38 Voids in the Pivot Point table generated by '
print *, ' 6m(1)m(2) - m(1) - m(2) = CA3 '
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(39) .eq. 39) then
print *, '39 The plus compromised Pivot Point table ',
1 'generated by combining the output from'
print *, '6m(1)m(2) + m(1) + m(2) = CA1 and'
print *, '6m(1)m(2) - m(1) - m(2) = CA3'
print *, ' (Vanitas Vector Points)'
endif
if (ichoice(40) .eq. 40) then
print *, '40 Voids(pp) in the Composite Pivot Point table',
1 ' generated by combining the output from'
print *, '6m(1)m(2) + m(1) + m(2) = CA1 and'
print *, '6m(1)m(2) - m(1) - m(2) = CA3'
print *, ' (Vanitas Vector Points)'
endif
ichoice(45) = 0 ! reset examine option
print *, 'Press return when ready to continue.'
pause
go to 50 ! top of page 2
endif
c 46 Clear Page 1 Choices and Repeat page 1
if (ichoice(46) .eq. 46) then
do i = 1, 18
ichoice(i) = 0
enddo
ichoice(46) = 0 ! reset clear option
go to 30 ! top of page 1
endif
c 47 Keep Page 1 Choices and Repeat page 1
if (ichoice(47) .eq. 47) then
ichoice(47) = 0
go to 30 ! top of page 1
endif
c 48 test for Chose all starred choices on this page
if (ichoice(48) .eq. 48) then
do i = 19, 31
ichoice(i) = i
enddo
ichoice(48) = 0
endif
c *19 pc table
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (is points)
65 if (ichoice(19) .eq. 19) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 19. pc table. (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 19. pc table. (is points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,1) .ne. 0) .or. (vv(i,3) .ne. 0)) then
if (output .eq. 'F') then
write (1, *) ' pc at ', (6 * i) + 1
else
print *, ' pc at ', (6 * i)+ 1
endif
endif
enddo
endif
c *20 Pivot Point table for pcs.
cg pc detected by Pivot Point being a member of either
c 6m(1)m(2) + m(1) + m(2) = CA1 or
c 6m(1)m(2) - m(1) - m(2) = CA3 (or both)
c (Vanitas Vector Points)
if (ichoice(20) .eq. 20) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 20. Pivot Point table for pc(s).',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 20. Pivot Point table for pc(s).',
1 ' (Vanitas Vector Points)'
endif
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
do i = lowervv, uppervv ! find primes
if ((vv(i,1) .ne. 0) .or. (vv(i,3) .ne. 0)) then
if (output .eq. 'F') then
write (1, *) ' Plus Compromised Pivot Point at ', i
else
print *, ' Plus Compromised Pivot Point at ', i
endif
endif
enddo
endif
c *21 mc table
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c ((member of CA2) * 6) - 1 = mc
c (is points)
if (ichoice(21) .eq. 21) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 21. The Minus composite ((n*6) - 1) table.',
1 ' (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 21. The Minus composite ((n*6) - 1) table.',
1 ' (is points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .ne. 0) then
if (output .eq. 'F') then
write (1, *) 'mc at ', (6*i)-1, ' (is points)'
else
print *, 'mc at ', (6*i)-1, ' (is points)'
endif
endif
enddo
endif
c *22 Pivot Point table for mc.
cg mc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) - m(2) = CA2
c (Vanitas Vector Points)
if (ichoice(22) .eq. 22) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 22. Pivot Point table for mc(s).',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 22. Pivot Point table for mc(s).',
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .ne. 0) then
if (output .eq. 'F') then
write (1, *) 'Pivot Point for mc at', i
else
print *,'Pivot Point for mc at', i
endif
endif
enddo
endif
c *23 The pc table generated by CA1 = 36m(1)m(2) + 6m(1) + 6m(2) + 1
cg those pc detected by Pivot Point being a member of
c 6m(1)m(2) + m(1) + m(2) = CA1
c ((member of CA1) * 6) + 1 = pc
c (is points)
if (ichoice(23) .eq. 23) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) ' 23. The pc table generated by ',
1 '36m(1)m(2) + 6m(1) + 6m(2) + 1 '
write (1, *) ' (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 23. The pc table generated by ',
1 '36m(1)m(2) + 6m(1) + 6m(2) + 1 '
print *, ' (is points)'
endif
do i = lowervv, uppervv
if (vv(i,1) .ne. 0) then
if (output .eq. 'F') then
write (1, *) '(6 * ', i, ') + 1 pc at ', (6 * i) + 1
else
print *, '(6 * ', i, ') + 1 pc at ', (6 * i) + 1
endif
endif
enddo
endif
if (ichoice(24) .eq. 24) then
c *24 ((n * 6) + 1) Voids in pc table generated by (CA1 * 6) + 1
cg (is points)
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '24. (n * 6) + 1 voids in the pc table ',
1 ' generated by 36m(1)m(2) + 6m(1) + 6m(2) + 1'
write (1, *) ' (is points)'
write (1, *) ' note: If a void from 24 is also',
1 ' a void of'
write (1, *) ' 36m(1)m(2) - 6m(1) - 6m(2) + 1',
1 ', we have a plus prime.'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '24. (n * 6) + 1 voids in the pc table ',
1 ' generated by 36m(1)m(2) + 6m(1) + 6m(2) + 1'
print *, ' (is points)'
print *, ' note: If a void from 24 is also',
1 ' a void of'
print *, ' 36m(1)m(2) - 6m(1) - 6m(2) + 1,',
1 ' we have a plus prime.'
endif
do i = lowervv, uppervv
if (vv(i,1) .eq. 0) then
if (output .eq. 'F') then
write (1, *) '(6 * ', i, ') + 1 possible prime ',
1 'at ', (6 * i) + 1
else
print *, '(6 * ', i, ') + 1 possible prime at ',
1 (6 * i) + 1
endif
endif
enddo
endif
c *25 The Pivot Point table generated by CA1
cg (Vanitas Vector Points)
if (ichoice(25) .eq. 25) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '25. Pivot Point table generated by ',
1 'CA1 = 6m(1)m(2) + m(1) + m(2)'
write (1, *)' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '25. Pivot Point table generated by ',
1 'CA1 = 6m(1)m(2) + m(1) + m(2)'
print *, ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,1) .ne. 0) then
if (output .eq. 'F') then
write (1, *) 'CA1 Pivot Point at ', i
else
print *, 'CA1 Pivot Point at ', i
endif
endif
enddo
endif
c *26 Voids in the Pivot Point table generated by CA1 = Chenault Algorithym I
cg = 6m(1)m(2) + m(1) + m(2)
c (Vanitas Vector Points)
if (ichoice(26) .eq. 26) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '26. Voids in the Pivot Point table ',
1 'generated by CA1 = 6m(1)m(2) + m(1) + m(2)'
write (1, *)' (Vanitas Vector Points)'
write (1, *) ' note: If the voids from CA1 are also',
1 ' voids of CA3 = '
write (1, *) ' 6m(1)m(2) - m(1) - m(2), we have a ',
1 'Pivot Point for Plus primes.'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '26. Voids in the Pivot Point table ',
1 'generated by CA1 = 6m(1)m(2) + m(1) + m(2)'
print *, ' (Vanitas Vector Points)'
print *, ' note: If the voids from CA1 are also',
1 ' voids of CA3 = '
print *, ' 6m(1)m(2) - m(1) - m(2), we have a',
1 'Pivot Point for Plus primes.'
endif
do i = lowervv, uppervv
if (vv(i,1) .eq. 0) then
if (output .eq. 'F') then
write (1, *) 'Chenault Algorithm I (CA1) void at ', i
else
print *, 'Chenault Algorithm I (CA1) void at ', i
endif
endif
enddo
endif
if (ichoice(27) .eq. 27) then
c 27 The mc table is detected by a Pivot Point being generated by CA2
cg ((member of CA2) * 6) - 1 = mc
c (is points)
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '27. The mc table generated by (6 * CA2) -',
1 ' 1 = 36m(1)m(2) + 6m(1) - 6m(2) -1'
write (1, *)' Note: All mc are generated. '
write (1, *)' (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '27. The mc table generated by (6 * CA2) -',
1 ' 1 = 36m(1)m(2) + 6m(1) - 6m(2) -1'
print *, ' Note: All mc are generated. '
print *, ' (is points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .ne. 0) then
if (output .eq. 'F') then
write (1, *) '(6 * ', i, ') - 1 mc at ', (6 * i) - 1
else
print *, '(6 * ', i, ') - 1 mc at ', (6 * i) - 1
endif
endif
enddo
endif
if (ichoice(28) .eq. 28) then
c 28. voids(mp) in mc table generated by 36m(1)m(2) +6m(1) -6m(2) -1
cg ((void of CA2) * 6) - 1 = mp
c (is points)
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '28. ((n * 6) -1) voids in mc table generated',
1 ' by 36m(1)m(2) +6m(1) -6m(2) -1'
write (1, *) ' = (CA2 * 6) - 1 (is points)'
write (1, *) ' note: identifies all minus primes.'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '28. ((n * 6) -1) voids in mc table generated',
1 ' by 36m(1)m(2) +6m(1) -6m(2) -1'
print *, ' = (CA2 * 6) - 1 (is points)'
print *, ' note: identifies all minus primes.'
endif
do i = lowervv, uppervv
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) '(6 * ', i, ') - 1 minus prime(mp) at ',
1 (6 * i) - 1
else
print *, '(6 * ', i, ') - 1 minus prime(mp) at ',
1 (6 * i) - 1
endif
endif
enddo
endif
c *29 The Pivot Point table for mc's can be generated by
cg CA2 = 6m(1)m(2) + m(1) - m(2)
c (6 *(member of CA2)) - 1 = mc
c (Vanitas Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) - m(1) + m(2)
if (ichoice(29) .eq. 29) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)' 29. Pivot Point table for mcs ',
1 'generated by'
write (1, *) ' 6m(1)m(2) + m(1) - m(2) = CA2'
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 29. Pivot Point table for mcs ',
1 'generated by'
print *, ' 6m(1)m(2) + m(1) - m(2) = CA2'
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .ne. 0) then
print *, 'Pivot Point for mc at ', i
if (output .eq. 'F') then
write (1, *) 'Pivot Point for mc at ', i
else
print *, 'Pivot Point for mc at ', i
endif
endif
enddo
endif
c *30 Voids in the Pivot Point table generated by CA2 =
cg 6m(1)m(2) + m(1) - m(2)
c note: these voids are Pivot Points for mp
c (Vanitas Vector Points)
if (ichoice(30) .eq. 30) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)'30. voids(pivot points for mp) in the Pivot ',
1 'Point table generated by'
write (1, *) ' 6m(1)m(2) + m(1) - m(2) = CA2'
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '30. voids(pivot points for mp) in the Pivot ',
1 'Point table generated by'
print *, ' 6m(1)m(2) + m(1) - m(2) = CA2'
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) 'Pivot Point of minus prime at ', i
else
print *, 'Pivot Point of minus prime at ', i
endif
endif
enddo
endif
c *31 The mc table generated by 36m(1)m(2) - 6m(1) + 6m(2) - 1
cg is identical to 27 output since m(1) and m(2) are interchangeable.
c (is points)
if (ichoice(31) .eq. 31) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)' 31. mc table generated by ',
1 ' 36m(1)m(2) - 6m(1) + 6m(2) - 1 (is points)'
write (1, *) ' Note: is identical to *27,',
1 ' ((CA2 * 6) - 1) output'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 31. mc table generated by ',
1 ' 36m(1)m(2) - 6m(1) + 6m(2) - 1 (is points)'
print *, ' Note: is identical to *27,',
1 ' ((CA2 * 6) - 1) output'
endif
do i = lowervv, uppervv
if (vv(i,2) .ne. 0) then
if (output .eq. 'F') then
write (1, *) 'mc generated by '
1 ' 36m(1)m(2) - 6m(1) + 6m(2) - 1 '
2 'at ', (6 * i) - 1
else
print *, 'mc generated by '
1 ' 36m(1)m(2) - 6m(1) + 6m(2) - 1 '
2 'at ', (6 * i) - 1
endif
endif
enddo
endif
if (ichoice(42) .eq. 42) go to 95
if (ichoice(43) .eq. 43) go to 95
if (ichoice(44) .eq. 44) go to 95
70 print *, ' Page 3 of choices'
print *, '49 Examine starred choices made from pages 1 and 2 in '
print *, ' this version of program Segment Sieve'
print *, '50 Clear Choices from Pages 1 and 2, Repeat both pages'
print *, '51 Keep Choices from Pages 1 and 2, Repeat both pages'
print *, ' '
print *, '*32 Voids(mp) in mc table generated by '
c 32. ((n * 6) -1 ) Voids(these are mp) in the mc table generated by
cg 36m(1)m(2) - 6m(1) + 6m(2) -1
c is identical to 28 output.
c (is points)
print *, ' 36m(1)m(2) - 6m(1) + 6m(2) - 1',
1 'is identical to 28 output. (is points)'
print *, '*33 The Pivot Point table generated ',
c 33. The Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2) = CA2
c (Vanita's Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) + m(1) - m(2) = CA2
c (is identical to 29 output)
1 'by 6m(1)m(2) - m(1) + m(2)'
print *, ' is identical to 29 output. (Vanitas Vector Points)'
print *, '*34 Voids in the Pivot Point table ',
c 34. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c (identical to 30 output)
c (Vanita's Vector Points)
1 'generated by'
print *, ' 6m(1)m(2) - m(1) + m(2)'
print *, ' (Is identical to 30 output.) (Vanitas Vector Points)'
print *, '*35 The plus composite(pc) table generated by'
print *, ' 36m(1)m(2) - 6m(1) - 6m(2) + 1 = (CA3 * 6) + 1',
1 ' (is points)'
print *, '*36 ((n*6)+1) voids (possible pp) in pc table generated' by'
c 36. ((n*6)+1) voids (possible pp) in pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1
c (is points)
print *, ' by 36m(1)m(2) - 6m(1) - 6m(2) + 1 = (CA3 * 6) + 1',
1 ' (is points)'
print *, '*37 Pivot Point table generated by'
c 37. Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
print *, ' 6m(1)m(2) - m(1) - m(2) = CA3',
1 ' (Vanitas Vector Points)'
print *, '*38 Voids in the Pivot Point table for pc generated ',
1 'by CA3 = '
print *, ' 6m(1)m(2) - m(1) - m(2) = Chenault Algorithym III',
1 ' (Vanitas Vector Points)'
print *, '*39 The Pivot Point table for pc composites generated '
print *, ' by combining the output from'
print *, ' 6m(1)m(2) + m(1) + m(2) = Chenault ',
1 'Algorithym I'
print *, ' and 6m(1)m(2) - m(1) - m(2) = Chenault ',
1 'Algorithym III '
print *, ' (Vanitas Vector Points)'
print *, '*40 Voids(pp Pivot Points) in the Pivot Point table ',
1 'generated by'
print *, ' combining the output from'
print *, ' 6m(1)m(2) + m(1) + m(2) = Chenault ',
1 'Algorithym I'
print *, ' and 6m(1)m(2) - m(1) - m(2) = Chenault ',
1 'Algorithym III '
print *, ' (Vanitas Vector Points)'
print *, ' '
print *, '52 All starred choices on page 3'
print *, '53 Repeat all pages, retaining prevous starred choices'
print *, '54 Erase all user input and Repeat all pages'
print *, '55 Examine starred choices made from pages 1 and 2 in '
print *, ' this version of program Segment Sieve, then repeat ',
1 'page 3'
print *, '56 Review all starred choices made from pages 1, 2, ',
1 ' and 3, Retain all starred choices, then',
2 ' Repeat all pages'
print *, ' '
print *, 'Type line number(s) of outputs desired from this page ',
1 ' , separated by commas.'
print *, ' (use only 1 line) (do not type * or spaces(blanks)'
read (5, '(a)') choices
c if (choices(1:1) .ne. ' ') then
c print *, 'choices = ', choices
c endif
oldpos = 0 ! indicate that no commas have been in string found so far
if (choices(1:1) .eq. ' ') go to 80 ! blank line
do i = 1, 80
if ((choices(i:i) .eq. ',') .or. (choices(i:i) .eq. ' ')) then
c if a comma is found, process here
c if a blank is found, we assume last input
if ((i - oldpos) .eq. 3) then
isubscript = ((ichar(choices((oldpos+1):(i-2)))) -48)*10
isubscript = isubscript +
1 (ichar(choices((oldpos+2):(i-1)))) - 48
ichoice (isubscript) = isubscript
else
ichoice((ichar(choices((oldpos+1):(i-1)))) - 48) ! turn on option
1 = (ichar(choices((oldpos+1):(i-1)))) - 48
endif
oldpos = i ! mark position of this comma
endif
if (choices(i:i) .eq. ' ') go to 80 ! if we have blank, exit parse
enddo
80 oldpos = 0 ! clear for next string test
c 52 test for All starred choices on this page
if (ichoice(52) .eq. 52) then
do i = 32, 40
ichoice(i) = i
enddo
ichoice(52) = 0 ! clear for next test
endif
c 49 Examine starred choices made from pages 1 and 2 in
c this version of program Segment Sieve
if (ichoice(49) .eq. 49) then
do i = 1, 31
if (ichoice(i) .eq. i) print *, 'ichoice(',i,') = ', ichoice(i)
enddo
ichoice(49) = 0 ! reset examine option
print *, 'Press return when ready to continue.'
pause
go to 70 ! top of page 3
endif
c 50 test for Clear Choices from Pages 1 and 2, Repeat both pages
if (ichoice(50) .eq. 50) then
do i = 1, 31
ichoice(i) = 0
enddo
ichoice(50) = 0
go to 30 ! top of page 1
endif
c 51 test for Keep Choices from Pages 1 and 2, Repeat both pages
if (ichoice(51) .eq. 51) then
ichoice(51) = 0
go to 30 ! top of page 1
endif
90 continue
c *32 ((n * 6) -1) voids(these are mp) in mc table generated by
cg 36m(1)m(2) - 6m(1) + 6m(2) -1
c is identical to 28 output.
c (is points)
95 if (ichoice(32) .eq. 32) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '32. ((n*6)-1) voids in mc table generated ',
1 'by 36m(1)m(2) - 6m(1) + 6m(2) - 1 '
write (1, *) ' (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '32. ((n*6)-1) voids in mc table generated ',
1 'by 36m(1)m(2) - 6m(1) + 6m(2) - 1 '
print *, ' (is points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) '(6 * ', i, ') - 1 Minus prime(mp) at ',
1 (6 * i) - 1
else
print *, '(6 * ', i, ') - 1 Minus prime(mp) at ',
1 (6 * i) - 1
endif
endif
enddo
endif
c 33. The Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2) = CA2
c (Vanita's Vector Points)
c Note: is identical to the
c Pivot Point table generated by
c 6m(1)m(2) + m(1) - m(2) = CA2
c (is identical to 29 output)
if (ichoice(33) .eq. 33) then
c do i = lowervv, uppervv
c print *, 'vv(i, 1, 2, 3) = ', 'vv(',i,') = ',
c 1 vv(i,1), vv(i,2), vv(i,3)
c enddo
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)' 33. Pivot Point table for mcs generated by ',
1 '6m(1)m(2) - m(1) + m(2) '
write (1, *) ' (Vanitas Vector Points)'
write (1, *)' Note:is same as the Pivot Point table ',
1 'generated by'
write (1, *)' 6m(1)m(2) + m(1) - m(2) = CA2'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, ' 33. Pivot Point table for mcs generated by ',
1 '6m(1)m(2) - m(1) + m(2) '
print *, 'Note: is same as the Pivot Point table ',
1 'generated by'
print *, ' 6m(1)m(2) + m(1) - m(2) = CA2'
print *, ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .ne. 0) then
if (output .eq. 'F') then
write (1, *) 'Pivot Point for mc at ', i
else
print *, 'Pivot Point for mc at ', i
endif
endif
enddo
endif
if (ichoice(34) .eq. 34) then
c 34. Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) + m(2)
c (identical to 30 output)
c (Vanita's Vector Points)
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)'34. Voids in the Pivot Point table generated',
1 ' by 6m(1)m(2) - m(1) + m(2)'
write (1, *) ' (Is identical to 30 output.)',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '34. Voids in the Pivot Point table generated',
1 ' by 6m(1)m(2) - m(1) + m(2)'
print *, ' (Is identical to 30 output.)',
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,2) .eq. 0) then
if (output .eq. 'F') then
write (1, *) 'Pivot Point of Minus prime at ', i
else
print *, 'Pivot Point of Minus prime at ', i
endif
endif
enddo
print *, ' '
endif
if (ichoice(35) .eq. 35) then
c 35. pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1 = (CA3 * 6) + 1
c (is points)
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '35. Plus composite (pc) table generated by ',
1 '36m(1)m(2) - 6m(1) - 6m(2) + 1 '
write (1, *) ' = (CA3 * 6) - 1 (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '35. Plus composite (pc) table generated by ',
1 '36m(1)m(2) - 6m(1) - 6m(2) + 1 '
print *, ' = (CA3 * 6) - 1 (is points)'
endif
do i = lowervv, uppervv
if (vv(i,3) .ne. 0) then
if (output .eq. 'F') then
write (1, *) ' (6 * ', i, ') + 1 pc at ',
1 (6 * i) + 1
else
print *, ' (6 * ', i, ') + 1 pc at ',
1 (6 * i) + 1
endif
endif
enddo
print *, ' '
endif
c *36 ((n*6)+1) voids (possible pp) in pc table generated by
cg 36m(1)m(2) - 6m(1) - 6m(2) + 1
c (is points)
if (ichoice(36) .eq. 36) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *) '36. ((n*6)+1) voids in pc table generated ',
1 'by 36m(1)m(2) - 6m(1) - 6m(2) + 1 '
write (1, *) ' = voids in ((CA3 * 6) + 1) (is points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '36.((n*6)+1) voids in pc table generated ',
1 'by 36m(1)m(2) - 6m(1) - 6m(2) + 1 '
print *, ' = voids in ((CA3 * 6) + 1) (is points)'
endif
do i = lowervv, uppervv
if (vv(i,3) .eq. 0) then
if (output .eq. 'F') then
write (1, *) 'possible Plus prime at ',
1 (6 * i) + 1
else
print *, 'possible Plus prime at ',
1 (6 * i) + 1
endif
endif
enddo
endif
c *37 Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
if (ichoice(37) .eq. 37) then
if (output .eq. 'F') then ! divide sections of output
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)'37. Pivot Point table generated by '
write (1, *) ' 6m(1)m(2) - m(1) - m(2) = CA3'
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '37. Pivot Point table generated by '
print *, ' 6m(1)m(2) - m(1) - m(2) = CA3'
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,3) .ne. 0) then
if (output .eq. 'F') then
write (1, *) 'Pivot Point at ', i,
1 ' generated by CA3'
else
print *, 'Pivot Point at ', i,
1 ' generated by CA3'
endif
endif
enddo
endif
c *38 Voids in the Pivot Point table generated by
cg 6m(1)m(2) - m(1) - m(2) = CA3
c (Vanitas Vector Points)
if (ichoice(38) .eq. 38) then
if (output .eq. 'F') then
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)'38. Voids in Pivot Point table ',
1 'generated by '
write (1, *) ' 6m(1)m(2) - m(1) - m(2) = CA3',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '38. Voids in Pivot Point table ',
1 'generated by '
print *, ' 6m(1)m(2) - m(1) - m(2) = CA3',
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if (vv(i,3) .eq. 0) then
if (output .eq. 'F') then
write (1, *) 'Void in Pivot Point table at ',
1 i, ' generated by CA3'
else
print *, 'Void in Pivot Point table at ',
1 i, ' generated by CA3'
endif
endif
enddo
endif
c *39 Pivot Point table generated by combining the
cg output from 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((member of either (or both) CA1 or CA3) * 6) + 1 = pc
c (Vanitas Vector Points)
if (ichoice(39) .eq. 39) then
if (output .eq. 'F') then
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)'39. Pivot Point table for pcs generated by ',
1 'combining output from'
write (1, *) ' 6m(1)m(2) + m(1) + m(2) = CA1 and'
write (1, *) ' 6m(1)m(2) - m(1) - m(2) = CA3',
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '39. Pivot Point table for pcs generated by ',
1 'combining output from'
print *, ' 6m(1)m(2) + m(1) + m(2) = CA1 and'
print *, ' 6m(1)m(2) - m(1) - m(2) = CA3',
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if ((vv(i,1) .ne. 0) .or. (vv(i,3) .ne. 0)) then
if (output .eq. 'F') then
write (1, *) 'Pivot Point for pc at ', i,
1 ' generated by CA1 and,or CA3'
else
print *, 'Pivot Point for pc at ', i,
1 ' generated by CA1 and,or CA3'
endif
endif
enddo
endif
c *40 voids in Pivot Points table generated by combining
cg output from 6m(1)m(2) + m(1) + m(2) = CA1 and
c 6m(1)m(2) - m(1) - m(2) = CA3
c Note: ((commom void for CA1 and CA3) * 6) + 1 = pp
c (Vanitas Vector Points)
if (ichoice(40) .eq. 40) then
if (output .eq. 'F') then
write (1, ' ')
write (1, ' ')
write (1, *) ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
write (1, *) ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
write (1, *)'40. Pivot Points for Plus primes (pp). '
write (1, *)'(generated by voids in the table ',
1 'obtained from combining output of'
write (1, *) ' 6m(1)m(2) + m(1) + m(2) = CA1 and'
write (1, *) ' 6m(1)m(2) - m(1) - m(2) = CA3'
1 ' (Vanitas Vector Points)'
else
print *, ' '
print *, ' '
print *, ' user desired span = ', loweris,
1 ' thru ', upperis, ' (is points)'
print *, ' user desired span = ', lowervv,
1 ' thru ', uppervv, ' (vv points)'
print *, '40. Pivot Points for Plus primes (pp). '
print *, '(generated by voids in the table ',
1 'obtained from combining output of'
print *, ' 6m(1)m(2) + m(1) + m(2) = CA1 and'
print *, ' 6m(1)m(2) - m(1) - m(2) = CA3'
1 ' (Vanitas Vector Points)'
endif
do i = lowervv, uppervv
if ((vv(i,1) .eq. 0) .and. (vv(i,3) .eq. 0)) then
if (output .eq. 'F') then
write (1, *) 'pivot point for pp at ', i,
1 ' generated by CA1 and CA3'
else
print *, 'pivot point for pp at ', i,
1 ' generated by CA1 and CA3'
endif
endif
enddo
endif
if (ichoice(42) .eq. 42) go to 100
if (ichoice(43) .eq. 43) go to 100
if (ichoice(44) .eq. 44) go to 100
c 53 test for Repeat all pages, retaing preveous starred choices.
if (ichoice(53) .eq. 53) then
ichoice(53) = 0 ! clear option
go to 30 ! top of page 1
endif
c 54 test for Erase all user input and Repeat everything
if (ichoice(54) .eq. 54) then
do i = 1, 56
ichoice(i) = 0
enddo
go to 5 ! start of questions
endif
c 55 test for Examine starred choices made from pages 1 and 2 in
c this version of program Segment Sieve, then repeat page 3
if (ichoice(55) .eq. 55) then
do i = 1, 31
if (ichoice(i) .eq. i) print *, 'ichoice(',i,') = ', ichoice(i)
enddo
ichoice(55) = 0 ! reset examine option
print *, 'Press return when ready to continue.'
pause
go to 70 ! top of page 3
endif

c 56 test for Examine all starred choices made from pages 1, 2,
c and 3, retain starred choices, then Repeat all pages
if (ichoice(56) .eq. 56) then
do i = 1, 40
if (ichoice(i) .eq. i) print *, 'ichoice(',i,') = ', ichoice(i)
enddo
ichoice(56) = 0 ! reset examine option
print *, 'Press return when ready to continue.'
pause
go to 30 ! top of page 1
endif
If (output .eq. 'F') print *, 'The file name you chose for ',
1 'storage of results was ',
2 filename
100 close (1)
stop
10000 print *, 'error opening ', filename, ' It may be open.'
stop
c Jeff's Jargon: (a repeat of this glossary is at the beginning of code)
c
c Chenault is pronounced Shin-alt
c
c is = integer scale. The variable n is used for is calcultions.
c n = integer, no limit
c
c A: A prime number is a positive integer number, greater than
c 1; such that 1 and itself are the only integers which
c divide the prime number yielding a positive integer with a
c zero remainder.
c B: The Chenault series consists of: 2, 3, all (6n-1) and all (6n+1).
c C: cn = Chenault number = an element of the Chenault series.
c D: mp = (6n-1) primes = "minus primes".
c E: pp = (6n+1) primes = "plus primes".
c F: mc = (6n-1) composite numbers = "minus composites".
c G: pc = (6n+1) composite numbers = "plus composites".
c H: mcn = (minus Chenault number) = any mp or mc.
c I: pcn = (plus Chenault number) = any pp or pc.
c J: unsorted cn's = 2 and 3.
c K: sorted cn's = all (6n-1) and all (6n+1).
c
c
c Jeff's Jargon: (Section II)
c
c A: tpc: Twin Prime Candidate = 6n-1, 6n+1 pair for a given n.
c B: potential twin prime partner: ptpp
c Letting a n6-1 prime be the reference, its potential
c twin prime partner is the n6+1 for that n.
c Letting a n6+1 prime be the reference, its potential
c twin prime partner is the n6-1 for that n.
c C: lonesome prime: a prime (either mp or pp) whose ptpp is a composite.
c D: lonesome plus prime: pp whose ptpp is mc.
c E: lonesome minus prime: mp whose ptpp is pc.
c F: lonesome plus composite: (6n+1) is composite, while
c (6n-1) is prime.
c G: lonesome minus composite: (6n+1) is prime, while
c (6n-1) is composite.
c H: married plus prime: pp of a twin prime pair.
c I: married minus prime: mp of a twin prime pair.
c J: the composite table: all composite (6n-1) and
c all composite (6n+1)
c K: the plus composite table all composite (6n+1)
c L: the minus composite table all composite (6n-1)
c A: integer scale: is
c B: Vanita’s Vector= an integer scale that is a replica of the is. Each integer on Vanita’s Vector corresponds to a multiple of 6 on the is.
c C: vv point = point on Vanita’s Vector. Note 3: Throughout this composition, the variable mvv = vv point = a positive integer, 1, thru infinity.
c D: tppptn = vv point = Twin Prime Pivot Point
c = n for an (6n-1),(6n+1) pair of primes.
c E: ptpppt = vv point = potential twin prime pivot point
c = n for an (6n-1),(6n+1) pair on is.
c F: ctpppt = vv point = compromised Pivot Point
c = either 6n -1 and, or 6n + 1 is composite.
c A: CAI = Chenault Algorithm I.
c B: CAII = Chenault Algorithm II.
c C: CAIII = Chenault Algorithm III.
c D: Chenault Segment Sieve = eliminates all ptppp on Vanita’a Vector that satisfy either CAI, CAII, or CAIII.
c E. Segment Sieve = Chenault Segment Sieve
c = an exercise of the Chenault Solution
c vv = Vanita's Vector = a replica of the is. Each integer of Vanita's
c Vector corresponds to a multiple of 6 on the is.
c The varible m is used for vv calculations.
c m = integer, no limit
c
c All composites are indicated by the Chenault Solution. (vv points)
c
c Chenault Solution = (6*m(1)*m(2) +- m(1) +- m(2)) (vv points)
c
c The sign combinations used by the Chenault Algorithms determine whether
c (6*n)-1 or (6*n)+1 is composite, i. e., whether we have a plus composite
c or a minus composite.
c
c --------------------------------------------------------------------
c --------------------------------------------------------------------
c
c is section:
c
c is = integer scale. The variable n is used for is calcultions.
c n = integer, no limit
c
c Chenault Series = 2, 3, (n6 - 1), (n6 + 1) (is points)
c Thelma's Thoughts: Prime Numbers are a subset of the Chenault Series.
c For proof, see "Prime Thoughts" by Tom Chenault.
c
c Chenault Number = member of Chenault Series
c
c twin pair = (6n-1), (6n+1) for the same n
c
c
c ptpp = potential twin prime partner =
c The potential twin prime partner of a
c n6-1 prime is the n6+1 for that n.
c The potential twin prime partner of a
c n6+1 prime is the n6-1 for that n.
c
c pp = plus prime = prime at (6n+1).
c
c mp = minus prime = prime at (6n-1).
c
c twin prime pair = (6n+1), (6n-1) = pp, mp for the same n.
c
c
c pc = plus composite = a composite at (6n+1).
c
c mc = minus composite = a composite at (6n-1).
c d
c twin composite pair = (6n+1), (6n-1) = pc, mc for the same n
c
c lonesome prime = prime (either mp or pp) whose potential twin prime
c partner is a composite.
c
c lonesome plus prime = pp whose potential twin prime partner is a mc.
c
c lonesome minus prime = mp whose potential twin prime partner is a pc.
c
c married plus prime = the pp from a twin prime pair (besides 3, 5)
c
c married minus prime = the mp from a twin prime pair (besides 3, 5)
c
c --------------------------------------------------------------------
c --------------------------------------------------------------------
c
c vv section:
c
c Vanita's Vector (vv) = a replica of the is. Each integer of Vanita's
c Vector corresponds to ((the vv integer) * 6)
c on the is.
c The varible m is used for vv calculations.
c m = integer, no limit
c
c pttppvpt = vv = potential twin prime pivot point.
c
c tppvpt = vv = twin prime pivot point = an integer multiple of 6 such
c that ((6*tppp)-1, ((6*tppp)+1) are the is elements of a twin prime).
c
c pppvpt = vv = plus prime pivot point.
c
c mppvpt = vv = minus prime pivot point.
c
c lonesome pvpt = vv = pivot point for pp,mc or pc,mp.
c
c lonesome pppvpt = vv which serves as a pivot point for pp, mc.
c
c lonesome mppvpt = vv which serves as a pivot point for pc, mp.
c
end