CurveThroughPt with Curve=Interpolated returns the same curve as InterpCrv with the only difference appearing being the input method: selection of each point or location in order for InterpCrv and selection of all input points and automatic ordering for CurveThroughPt. Are there any other differences?

Both commands return curves with:

degree 1 - number of control points = number of input points

degree 3 - number of control points = number of input points + 2

degree 5 - number of control points = number of input points + 5

degree 7 - number of control points = number of input points + 7

What are the extra conditions in addition to the input points used to determine the control points for degree 3 and greater?

How do I obtain an interpolating curve with the number of control points = number of input points (number of input points equal to or greater than degree + 1)? Each “edit” point on the curve would coincide with an input point.