¿Cómo Calcular Logaritmos Sin Funciones del Sistema?

Estoy haciendo una calculadora que funciona con sumas, restas, multiplicaciones, divisiones y raíces cuadradas de largadas exageradas y de momento hasta aquí bien…
Mi Pregunta es la Siguiente: ¿Cómo Calcular el residuo de los Logaritmos con los operadores ( Métodos ) que ya tengo programados ( sumas restas multiplicaciones, divisiones y raíz cuadrada )?.
Estoy haciendo la función de logaritmos de cualquier base y saco los que son enteros correctamente ( enteros sin residuo ) pero no logro saber como continuar-la.
Aquí os muestro mi código hasta aquí:

Public Function Logaritm(ByVal NumBase As String, ByVal NumLog As String, Optional ByVal ReIterations As Integer = 128) As String
        Logaritm = StringCero
        On Error Resume Next

        Dim Cuenta As String = StringCero
        Dim Restante As String = NumLog

        Do Until PolCalculator.IsMayor(NumBase, Restante) = True
            ' Primero Voy Haciendo Divisiones Para 
            ' Conseguir la Parte Entera del Logaritmo
            Restante = BigNumbers.Divide(Restante, NumBase, ReIterations)
            Cuenta = BigNumbers.Sumar(Cuenta, StringUno)
        Loop

        ' Hasta Aquí Va Bien, Pero ¿Cómo Lo Hago Para Tratar con el Residuo?

        Dim Resultado As String = Cuenta
        If BigNumbers.IsMayor(Restante, StringCero) = True Then
            ' Si entro aquí es que el logaritmo contiene residuo
            Restante = BigNumbers.Divide(Restante, NumBase, ReIterations)
            Resultado = BigNumbers.Sumar(Cuenta, Restante)
        Else
            Resultado = Cuenta
        End If

        Return Resultado

    End Function