class ĠL ag range ( private Ġval Ġdots : ĠArray < Dot >) Ġ: ĠSolver Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsolve (): ĠDouble Array Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsize Ġ= Ġdots . size ĊĠĠĠĠĠĠĠ Ġvar Ġres Ġ= ĠDouble Array ( size ) Ġ{ Ġ 0 . 0 Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġdots . indices ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Ġ+= Ġget Coefficient s ( i ) ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Coefficient s ( index : ĠInt ) Ġ: ĠDouble Array Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġarray Ġ= ĠDouble Array ( 1 ) Ġ{ Ġ 1 . 0 Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġres Ġ= Ġ 1 . 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġdots . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ== Ġindex ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Val Ġ= Ġdouble ArrayOf ( 1 . 0 , Ġ- dots [ i ]. x ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Ġ*= Ġdots [ index ]. x Ġ- Ġdots [ i ]. x ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray Ġ*= Ġcurrent Val ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġarray Ġ* Ġ( dots [ index ]. y Ġ/ Ġres ) ĊĠĠĠ Ġ} ĊĊ Ċ }