<canvas id="canvas"></canvas>
#canvas {
  border: solid 1px #ccc;
}
const WIDTH = 400;
const HEIGHT = 400;
const canvas = document.getElementById("canvas");
canvas.width = WIDTH;
canvas.height = HEIGHT;
paper.setup(canvas);

const p = 67;

const ypBy2 = new paper.Path();
ypBy2.strokeColor = "#e3e3e4";
ypBy2.add(new paper.Point(0, HEIGHT/2));
ypBy2.add(new paper.Point(WIDTH-1, HEIGHT/2));

for(let x=0; x<p; x++) {
  const fx = Math.pow(x, 3) - 7 * x;
  const y1 = (Math.sqrt(fx)) % p;
  const y2 = p-y1;
  
  const point1 = new paper.Path.Circle(new paper.Point(x*WIDTH/p, y1*HEIGHT/p), 2);
  point1.fillColor = "red";
  
  const point2 = new paper.Path.Circle(new paper.Point(x*WIDTH/p, y2*HEIGHT/p), 2);
  point2.fillColor = "red";
}
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.11.3/paper-full.min.js