EquationImplicitFunction1
Answer is an Equation that Implicitly Defines a Function
This PG code shows how to have an answer that is an equation that implicitly defines a function.
 File location in OPL: FortLewis/Authoring/Templates/Algebra/EquationImplicitFunction1.pg
 PGML location in OPL: FortLewis/Authoring/Templates/Algebra/EquationImplicitFunction1_PGML.pg
PG problem file  Explanation 

Problem tagging: 

DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "parserImplicitEquation.pl", "AnswerFormatHelp.pl", ); TEXT(beginproblem()); 
Initialization: 
Context("ImplicitEquation"); Context()>{error}{msg}{ "Can't find any solutions to your equation"} = " "; Context()>{error}{msg}{ "Can't generate enough valid points for comparison"} = " "; Context()>variables>set( x=>{limits=>[6,11]}, y=>{limits=>[6,11]}, ); $a = random(1,5,1); $b = random(1,5,1); $r = random(2,5,1); $answer = ImplicitEquation( "(x$a)^2 + (y$b)^2 = $r^2", solutions=>[ [$a,$b+$r], [$a,$b$r], [$a+$r,$b], [$a$r,$b], [$a+$r*sqrt(2)/2,$b+$r*sqrt(2)/2], ] ); 
Setup:
We quash some error messages by redefining them to be a blank string

Context()>texStrings; BEGIN_TEXT Enter an equation for a circle in the xyplane of radius \( $r \) centered at \( ($a,$b) \). $BR $BR \{ ans_rule(40) \} \{ AnswerFormatHelp("equation") \} END_TEXT Context()>normalStrings; 
Main Text: 
$showPartialCorrectAnswers = 1; ANS( $answer>cmp() ); 
Answer Evaluation: The answer evaluator used is very sensitive and finicky. We strongly recommended that you read about it at parserImplicitEquation.pl 
Context()>texStrings; BEGIN_SOLUTION ${PAR}SOLUTION:${PAR} Solution explanation goes here. END_SOLUTION Context()>normalStrings; COMMENT("MathObject version."); ENDDOCUMENT(); 
Solution: 