with(plots):

p1:=implicitplot({y^2+x*y+y=x^3+x^2-5*x+2},x=-4..3,y=-5..4,\
  grid=[100,100]):
l:=[[-3,1],[3/4,-7/8],[1,-1],[2,1],[2,-4],[0,-2],[0,1]]:
p2:=plot(l,style=point,symbol=CIRCLE):
a := [[-2.9,1, `P1`], [1.1,-1,`P3`], [2.1,1,`P4`], [2.1,-4, `-P4`], 
[0.1,1, `-P5`],[-4,-2.3,`P1 = (-3,1)`],
[-4,-2.6,`P2 = (3/4,-7/8)`],[-4,-2.9,`P3 = (1,-1) = [2]P4 = [2]P5`],
[-4,-3.2,`P4 = (2,1)`],[-4,-3.5,`P5=(0,1)`],
[-4,-4,`P1, P2, P3 are points of order 2`],
[-4,4,`y^2 + xy + y = x^3 + x^2 - 5x + 2`],[-4, -4.5, `Plot by MapleV3`],
[-1,4,`(B15)`],[-4,4.4,`Example 4`]]:
p3:=textplot(a,align = RIGHT, font = [TIMES, ROMAN, 12]):
b:=[[0.65,-0.88,`P2`],[-0.1,-2,`P5`]]:
p4:=textplot(b,align = LEFT, font = [TIMES, ROMAN, 12]):

display({p1,p2,p3,p4});
# choose 1:1 then print

# interleaf following page 140 of Chapter 1
