Upload to Canvas a PDF of your work for the following problems. Note that 2 and 3 ask you to include plots generated by R. You will want to add the file elliptic.R to the R subdirectory of your project and rebuild so that you have the required functions.

Assignment: due Wednesday, 11:59 pm

  1. Denote \((\infty, \infty)\) by \(\infty\). Find a point \(P \neq \infty\) on the real elliptic curve \(y^2 = x^3-10x+24\) such that \(2P = \infty\). Explain how you know that your answer is correct. (In this situation, we say that “\(P\) has order 2.” Note that \(P\) is the additive analog of a square root of 1.) Hint: Use the provided ecPlotReal to see what this curve looks like.

  2. Consider the point \(P = (2,1)\) on the real elliptic curve \(y^2=x^3-3x-1\). Use ecPlotReal to plot this curve, along with the points \(nP\) for \(n=1,2,\ldots,100\). Is there a pattern? (The code block below shows how to use points to add points to a plot. The first point is plotted for you.) Note that the points \(nP\) are called “powers” of \(P\), because this group uses additive notation.

ecPlotReal(-3,-1)
nPpts <- matrix(numeric(200), ncol = 2) # preallocate points for nP
nPpts[1,] <- c(2,1) # the first point P
# TODO: calculate the other 99 points (use the provided package functions)
points(nPpts)
  1. Instead of adding points to the plot in the previous problem, we can add lines connecting successive powers of \(P\) by replacing the points command with the lines command. Try it. Experiment with some different choices of elliptic curve and initial point \(P\) and include a plot that you like. What seems to be true about the distribution of successive powers of \(P\)?