public static PdfPCell ParseToPdfParagraph(LinearSimultaneousEquations equations, bool showAnswers)
        {
            var firstParsed  = ParseLinearEquationToString(equations.Coefficients[0]);
            var secondParsed = ParseLinearEquationToString(equations.Coefficients[0]);

            var firstEquation  = new Chunk(firstParsed);
            var secondEquation = new Chunk(secondParsed);

            var question = new Paragraph
            {
                firstEquation,
                secondEquation
            };

            question.SpacingAfter = 100;

            var answerArea = CreateAnswerArea(equations, showAnswers);

            var questionAndAnswer = new PdfPCell();

            questionAndAnswer.AddElement(question);
            questionAndAnswer.AddElement(answerArea);
            questionAndAnswer.BorderColor = BaseColor.White;

            return(questionAndAnswer);
        }
        public static string ParseToString(LinearSimultaneousEquations equations)
        {
            var firstParsed  = ParseLinearEquationToString(equations.Coefficients[0]);
            var secondParsed = ParseLinearEquationToString(equations.Coefficients[0]);

            return($"{firstParsed}\n{secondParsed}=0\nx={equations.Solution.FirstSolution}, y={equations.Solution.SecondSolution}");
        }
        private static Paragraph CreateAnswerArea(LinearSimultaneousEquations equations, bool showAnswers)
        {
            var xAnswer    = showAnswers ? Math.Round(equations.Solution.FirstSolution, 2).ToString() : "........";
            var yAnswer    = showAnswers ? Math.Round(equations.Solution.FirstSolution, 2).ToString() : "........";
            var answerArea = new Paragraph($"Answer: x={xAnswer}, y={yAnswer}");

            answerArea.Alignment = Element.ALIGN_RIGHT;
            return(answerArea);
        }