# CASA Function: conic

Tries to find a rational point on a conic.

### Calling Sequence:

- F := conic(poly,vars,ok,parabol,ratpoint,X,Y);

### Parameters:

- poly : polynom(rational)
- Polynomial in two variables over Q respectively Q(t).

- vars : list
- List of the two variables occuring in poly

- ok : boolean
- Boolean variable indicating whether poly defines an irreducible conic

- parabol : boolean
- Boolean variable indicating whether poly defines a parabola

- ratpoint : boolean
- Boolean variable indicating whether there is a rational point on the conic defined by poly.

- X : name
- First coordinate of the rational point on the conic if this exists.

- Y : name
- Second coordinate of the rational point on the conic if this exists.

### Result:

- F : function
- the function conic returns itself, and stores all information in its parameters.

### Description:

- The call conic(poly,[x,y],ok,parabol,ratpoint,X,Y) decides whether there is a rational point on the conic defined by poly, and if so, computes one. The (boolean) value of the output parameter ok tells whether we deal with an irreducible conic. If ok = false then the other output parameters should be ignored. Otherwise, the other four output parameters have the meaning declared above. If poly is defined over Q conic, then (X,Y) represents the coordinates of a real point on the conic. In addition, if (X,Y) represents the coordinates of a point on the conic, then the procedure returns the result of substituting X, Y in poly (= 0) as function value.

### Examples:

`> ` **poly := x^2 - 4*x*y - 3*y^2 + 4*x + 8*y - 5:**

`> ` **conic(poly,[x,y],'ok','parabol','ratpoint','X','Y');**

`> ` **ok;**

`> ` **[parabol, ratpoint, X, Y];**

### See Also:

[CASA]
[rationalPoint]