Details and Options
Given positive integers 
a,b such that 
a>b and a semiprime 
N, we may compute a factor, 
q, of 
N by creating the sequence 

 where 
Q0=N. The sequence terminates if 
Qk<2, in which case the method has failed for the 
a/b-rational base representation. Otherwise, the sequence terminates if 

, in which case we have found a factor, 
q, of 
N.
Similar to Fermat's factorisation algorithm, which factors 
N=p q quickly when 
p is close to 

, 
ResourceFunction["FactorSemiprime"] will factor 
N=p q quickly when 

, with 

 and 
a,b are exhaustively searchable.
Similar to trial division, which tests successive odd integers for divisibility, ResourceFunction["FactorSemiprime"] exhaustively tests each possible a/b-rational base representation of p in lexicographic order. That is, a/b=2,3,4,3/2,5,6,5/2,4/3,7,5/3,…
However, unlike trial division, for a single 
a/b, if 

, then 
ResourceFunction["FactorSemiprime"] will obtain the factor 

, for all 
c∈ℕ and for all 
Δ∈ℕ such that 

.
Much like other existing algorithms for integer factorisation, it is exceedingly unlikely that ResourceFunction["FactorSemiprime"] will quickly factor an arbitrary, large semiprime.