蓝桥杯上一道 平面切分的,答案解析有一个地方不太懂

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
n = eval(input())
line = [tuple(map(int,input().split(" "))) for i in range(n)]
se = set(line)
line = list(se)  #去重后的线
if line:
    ans=2
    for i in range(1,len(line)):
        a1,b1=line[i]
        pos=set()
        for j in range(i):
            a2,b2=line[j]
            if a1==a2:
                continue
            x=(b1-b2)/(a1-a2)     #从这里开始,它到底是怎么计算的,看不太懂
            y=a1*x+b1
            pos.add((x,y))
        ans += len(pos)+1
print(ans)

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

这个呢 使用了霍夫变换,就是将原始的坐标系进行变换,你可以搜搜看,霍夫变换检测直线
在这个地方呢,可以理解为,在原始坐标系,a1、b1是变量,而另一个坐标系x和y是变量,原始坐标系的直线在转换坐标系后,会被映射成一个点(使用x和y表示)

img