数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: ysr

几个vb小程序

[复制链接]
 楼主| 发表于 2023-2-7 11:46 | 显示全部楼层
设 w 为三角数,且 7w+1 =完全平方数,求 w 的通解公式。
{120, 107880, 96876240,96876240, 86994755760, 78121193796360}

7w+1为完全平方数的情况,如下是程序得到的前21项:(据朋友搞出来的通项公式编程的)

w=0
w=120
w=107880
w=96876240
w=86994755760
w=78121193796360
w=7.01527450343756E+16
w=6.29970869196755E+19
w=5.65713139011235E+22
w=5.0800976886122E+25
w=4.56192206724236E+28
w=4.09660093628595E+31
w=3.67874307886272E+34
w=3.30350718821779E+37
w=2.96654577627649E+40
w=2.6639548035891E+43
w=2.39222844707724E+46
w=2.14821848152055E+49
w=1.92909780417701E+52
w=1.73232767993247E+55
w=1.55562832748156E+58
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-7 11:48 | 显示全部楼层
代码如下:

Private Sub Command1_Click()
Dim a, b, c
a = Val(Text1)
b = 0

Do While b <= a
b1 = Int((b + 1) / 2)
w = Val(((15 + 4 * Sqr(14)) ^ (2 * b + 1) + (15 - 4 * Sqr(14)) ^ (2 * b + 1) - 30) / 224)
s1 = s1 & " w=" & w & vbCrLf
b = Val(b + 1)

Loop
Text2 = s1
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
End Sub
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-7 11:56 | 显示全部楼层
验证:7*0+1=1,√1=1,
7*120+1=841,√841=29,
7*107880+1=755161,√755161=869.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-7 20:14 | 显示全部楼层
5w+1为完全平方数的情况:

n=1d=40n^2-15=5^2, w=0
n=4d=40n^2-15=25^2, w=3
n=34d=40n^2-15=215^2, w=231
n=151d=40n^2-15=955^2, w=4560
n=1291d=40n^2-15=8165^2, w=333336
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-7 22:58 | 显示全部楼层
本帖最后由 ysr 于 2023-2-7 15:12 编辑

11w+1为完全平方数的情况:

n=1 d=88n^2+33=11^2,  w=0
n=34 d=88n^2+33=319^2,  w=105
n=428 d=88n^2+33=4015^2,  w=16653
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-7 23:00 | 显示全部楼层
此时:m=(√d-11)/2,w=m(m+1)/2.

验证:105*11+1=1156=34*34.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-7 23:02 | 显示全部楼层
本帖最后由 ysr 于 2023-2-7 15:13 编辑

n在20000内有如下几个解:
n=1 d=88n^2+33=11^2,  w=0
n=34 d=88n^2+33=319^2,  w=105
n=428 d=88n^2+33=4015^2,  w=16653
n=13397 d=88n^2+33=125675^2,  w=16316328
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-7 23:03 | 显示全部楼层
本帖最后由 ysr 于 2023-2-7 23:48 编辑

代码如下:
Private Sub Command1_Click()
Dim a, b, c
a = Val(Text1)
Do While b <= a
d = Abs(88 * b ^ 2 + 33)
If InStr(Sqr(d), ".") = 0 Then
s = s + 1
m = (Sqr(d) - 11) / 22
w = m * (m + 1) / 2
s1 = s1 & "n=" & b & " d=88n^2+33=" & Sqr(d) & "^2,  w=" & w & vbCrLf
Else
s = s
End If

b = b + 1
Loop
If s > 0 Then
Text2 = s1
Else
Text2 = "无解"
End If


End Sub

Private Sub Command2_Click()
Text1 = ""
Text2 = ""

End Sub

回复 支持 反对

使用道具 举报

发表于 2023-2-7 23:06 | 显示全部楼层

很给力!但数论的东西用vb处理不够准确,也太辛苦,建议学习MATHEMATICA 或者PARI,PYTHON。工欲善其事,必先利其器

点评

ysr
感谢关注和支持,感谢指导,谢谢T先生!  发表于 2023-2-7 23:15
回复 支持 反对

使用道具 举报

发表于 2023-2-7 23:08 | 显示全部楼层
比如180楼的结果用MATHEMATICA可以这样得出:

  1. LinearRecurrence[{0, 6, 0, -1}, {1, 2, 4, 11}, 50]^2 - 1
复制代码


\[\{0,3,15,120,528,4095,17955,139128,609960,4726275,20720703,160554240,703893960,5454117903,23911673955,185279454480,812293020528,6294047334435,27594051024015,213812329916328,937385441796000,7263325169820735,31843510970040003,246739243443988680,1081741987539564120,8381870951925794403,36747384065375140095,284736873122033021040,1248329316235215199128,9672671815197196920975,42406449367931941630275,328586104843582662292128,1440570949193450800230240,11162254892866613321011395,48937005823209395266197903,379188080252621270252095320,1662417627039925988250498480,12881232473696256575250229503,56473262313534274205250750435,437582716025420102288255707800,1918428501033125396990275016328,14864931112390587221225443835715,65170095772812729223464099804735,504970075105254545419376834706528,2213864827774599668200789118344680,17154117622466263957037586936186255,75206234048563575989603365923914403,582735029088747719993858578995626160,2554798092823386983978313652294745040,19795836871394956215834154098915103203\}\]

点评

ysr
自编的大数运算程序时间长些,程序慢  发表于 2023-2-8 05:47
ysr
vb程序的数值计算只给出15位有效数字,要得到这样的结果需要调用自编的大数运算程序  发表于 2023-2-8 05:46
ysr
好,精彩结果,赞一个!  发表于 2023-2-7 23:14
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2024-5-16 06:36 , Processed in 0.085937 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表