using Extreme.Mathematics;
string number = new string('1', 1998);
var num = BigFloat.Parse(number);
var sqrt = BigFloat.Sqrt(num, AccuracyGoal.Absolute(digitIndex + 1), RoundingMode.TowardsNearest);
var strSqrt = sqrt.ToString();
var decimalIndex = strSqrt.IndexOf('.');
var digit = strSqrt[decimalIndex + digitIndex];
Console.WriteLine($"The value of sqrt({(number.Length > 10 ? number.Substring(0, 10) + "..." : number)}) is {sqrt}.");
Console.WriteLine($"The {digitIndex} digit of sqrt({(number.Length > 10 ? number.Substring(0, 10) + "..." : number)}) is {digit}");