Imagine using the digits of n in two different bases to generate two fractions, a/b and c/d, where a/b < 1 and c/d < 1 (see Appendix for a sample program). Now use the fractions to find a pair of points on the perimeter of a circle, (x1, y1) and (x2, y2), then calculate and mark the midpoint of (x1, y1) and (x2, y2). If the bases have a prime factor in common, pretty patterns will appear from this punctuated pairimetry:

b1 = 2; b2 = 6
b1 = 2; b2 = 10
b1 = 2; b2 = 14
b1 = 4; b2 = 10
b1 = 4; b2 = 20
b1 = 4; b2 = 28
b1 = 6; b2 = 42
b1 = 12; b2 = 39
b1 = 24; b2 = 28
b1 = 28; b2 = 40
b1 = 32; b2 = 36
b1 = 42; b2 = 78
Appendix: Sample Program for Pairimetry
GetXY(xyi)=
fr = 0
recip = 1
bs = base[xyi]
for gi = 1 to di[xyi]
recip = recip/bs
fr += d[xyi,gi] * recip
next gix[xyi] = xcenter + sin(pi2 * fr) * radius
y[xyi] = ycenter + cos(pi2 * fr) * radiusendproc
Dinc(i1) =
d[i1,1]++;
if d[i1,1] == base[i1] theni2 = 1
while d[i1,i2] == base[i1]
d[i1,i2] = 0
i2++;
d[i1,i2]++;endwhile
if i2 > di[i1] then di[i1] = i2 endif
endif
endproc
Drawfigure =
base = x = y = di = array(2)
d = array(2,100)
radius = 100
pi2 = pi * 2
base[1] = 2
base[2] = 6
di[1] = 1
di[2] = 1while true
for i = 1 to 2
call Dinc(i)
call GetXY(i)
next iplot (x[1]+x[2]) / 2, (y[1] + y[2]) / 2
endwhile
endproc
call drawfigure



































