explore-diophantine-equations
À propos
Cette compétence aide les développeurs à résoudre des équations diophantiennes (solutions entières), incluant les équations linéaires, les équations de Pell et les triplets pythagoriciens. Elle détermine la possibilité de résolution, trouve les solutions minimales et fournit les formes paramétriques. Utilisez-la pour des problèmes de théorie des nombres, la conception d'algorithmes, ou lorsque vous travaillez avec des contraintes entières en programmation mathématique.
Installation rapide
Claude Code
Recommandénpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/explore-diophantine-equationsCopiez et collez cette commande dans Claude Code pour installer cette compétence
Documentation
name: explore-diophantine-equations description: > 探索丢番图方程:线性丢番图方程(扩展 Euclid 算法)、Pell 方程 (连分数法)、勾股方程(参数化解)和高次方程(Fermat 大定理及 相关结果)。涵盖可解性判定、解的参数化和求最小正整数解。 license: MIT allowed-tools: Read Grep Glob WebFetch WebSearch metadata: author: Philipp Thoss version: "1.0" domain: number-theory complexity: intermediate language: natural tags: number-theory, diophantine-equations, pell-equation, pythagorean-triples, fermat locale: zh-CN source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16
探索丢番图方程
系统求解要求整数解的丢番图方程,涵盖线性方程、Pell 方程、勾股方程和高次方程。
适用场景
- 求解线性丢番图方程 ax + by = c 的整数解
- 使用连分数法求解 Pell 方程 x^2 - Dy^2 = 1
- 生成和分析勾股数组 (a, b, c) 满足 a^2 + b^2 = c^2
- 分析高次丢番图方程的可解性
- 将实际问题转化为丢番图方程
输入
- 必需:丢番图方程的陈述
- 可选:解的约束(正整数、非负整数、某范围内)
- 可选:是否需要所有解的参数化或仅特定解
- 可选:应用上下文
步骤
第 1 步:分类方程并判定可解性
确定方程类型和解的存在性:
- 线性丢番图方程 ax + by = c:
- 有解当且仅当 gcd(a, b) | c
- 如果有解,则有无穷多解
- Pell 方程 x^2 - Dy^2 = 1(D 为非完全平方正整数):
- 总是有非平凡解
- 最小正解可通过 sqrt(D) 的连分数展开求得
- 负 Pell 方程 x^2 - Dy^2 = -1:
- 不一定有解——取决于 D 的性质
- 有解当且仅当 sqrt(D) 的连分数周期长度为奇数
- 勾股方程 x^2 + y^2 = z^2:
- 所有本原解(gcd(x,y,z) = 1)由参数化给出
- Fermat 方程 x^n + y^n = z^n(n ≥ 3):
- 无正整数解(Fermat 大定理,Wiles 1995 年证明)
- 一般二次丢番图方程:可使用 Hasse-Minkowski 定理等工具分析。
预期结果: 方程已分类,可解性条件已确定或证明无解。
失败处理: 如果方程不属于标准类型,尝试通过变量替换或模运算论证将其转化为已知类型。模运算是证明无解的强大工具。
第 2 步:求解方程
根据方程类型求解:
- 线性丢番图方程:
- 使用扩展 Euclid 算法找 ax + by = gcd(a,b) 的特解 (x_0, y_0)
- 缩放得到 ax + by = c 的特解:x_0' = x_0 * c/gcd(a,b)
- 通解:x = x_0' + (b/d)t, y = y_0' - (a/d)t,t 为任意整数
- 对于正整数解,求 t 的范围使 x > 0 且 y > 0
- Pell 方程:
- 计算 sqrt(D) 的连分数展开 [a_0; a_1, a_2, ..., a_k, ...]
- 找到周期长度 k
- 如果 k 为偶数,第 k-1 个渐近分数 p_(k-1)/q_(k-1) 给出最小解
- 如果 k 为奇数,第 2k-1 个渐近分数给出最小解
- 所有解由递推生成:(x_(n+1), y_(n+1)) = (x_1 * x_n + D * y_1 * y_n, x_1 * y_n + y_1 * x_n)
- 勾股数组:
- 本原勾股数组参数化:对互素的 m > n > 0(一奇一偶)
- a = m^2 - n^2, b = 2mn, c = m^2 + n^2
- 一般勾股数组为本原数组的倍数
预期结果: 方程的特解和通解(或参数化),正整数解的范围(如有约束)。
失败处理: 如果连分数计算错误,通过代入 x^2 - Dy^2 验证候选解。连分数的每一步都应验证。
第 3 步:验证和分析解
确认解的正确性并进行进一步分析:
- 代入验证:将求得的解代入原方程确认等式成立。
- 完整性检查:
- 对于线性方程,验证通解公式生成的解确实覆盖所有解
- 对于 Pell 方程,验证递推关系正确生成后续解
- 最小解:确认找到的是最小正解(对 Pell 方程尤其重要)。
- 解的性质分析:
- 解的增长率(Pell 方程的解呈指数增长)
- 解的模式和规律
- 应用解释:将数学解翻译回原始问题的语境。
预期结果: 所有解经验证正确,解的结构(通解公式或参数化)已完整描述。
失败处理: 如果验证失败,重新检查计算步骤。对于 Pell 方程,确认 D 不是完全平方数(完全平方数的 Pell 方程无正整数解)。
验证清单
- 方程类型正确分类
- 可解性条件已验证
- 所有解代入原方程验证正确
- 通解公式覆盖所有解
- 正整数解的范围正确计算(如有约束)
- Pell 方程的最小正解正确
- 勾股数组的本原性条件已检查
常见问题
- 混淆 Pell 方程的两种形式:x^2 - Dy^2 = 1 和 x^2 - Dy^2 = -1 是不同的方程,后者不一定有解。
- D 为完全平方数:当 D = k^2 时,x^2 - k^2*y^2 = (x-ky)(x+ky) = 1 只有平凡解 y = 0, x = ±1。
- 忽略线性方程的可解性条件:ax + by = c 仅在 gcd(a,b) | c 时有解。直接使用扩展 Euclid 算法而不检查此条件可能得到非整数"解"。
- 勾股数组参数化的条件:m 和 n 必须互素且一奇一偶,否则生成的不是本原数组。
- 模运算论证的方向:模运算可以证明无解(如果模某个数无解,则整体无解),但不能直接证明有解。
相关技能
analyze-prime-numbers-- 丢番图方程的可解性常依赖于素数性质solve-modular-arithmetic-- 模运算是分析丢番图方程的基本工具derive-theoretical-result-- 某些丢番图方程需要理论推导来完全解决
Dépôt GitHub
Compétences associées
llamaguard
AutreLlamaGuard est le modèle de Meta, doté de 7 à 8 milliards de paramètres, conçu pour modérer les entrées et sorties des LLM selon six catégories de sécurité comme la violence et les discours haineux. Il offre une précision de 94 à 95 % et peut être déployé avec vLLM, Hugging Face ou Amazon SageMaker. Utilisez cette compétence pour intégrer facilement le filtrage de contenu et des garde-fous de sécurité dans vos applications d'IA.
cost-optimization
AutreCette compétence de Claude aide les développeurs à optimiser les coûts du cloud grâce au redimensionnement des ressources, aux stratégies d'étiquetage et à l'analyse des dépenses. Elle fournit un cadre pour réduire les dépenses cloud et mettre en œuvre une gouvernance des coûts sur AWS, Azure et GCP. Utilisez-la lorsque vous devez analyser les coûts d'infrastructure, redimensionner les ressources ou respecter des contraintes budgétaires.
quantizing-models-bitsandbytes
AutreCette compétence quantifie les LLMs en précision 8 bits ou 4 bits à l'aide de bitsandbytes, permettant une réduction de 50 à 75 % de la mémoire utilisée avec une perte de précision minime. Elle est idéale pour exécuter des modèles plus volumineux sur une mémoire GPU limitée ou pour accélérer l'inférence, prenant en charge des formats comme INT8, NF4 et FP4. La compétence s'intègre à HuggingFace Transformers et permet l'entraînement QLoRA ainsi que l'utilisation d'optimiseurs en 8 bits.
dispatching-parallel-agents
AutreCette compétence Claude déploie plusieurs agents pour enquêter et résoudre simultanément 3 problèmes indépendants ou plus. Elle est conçue pour des scénarios impliquant des défaillances non liées qui peuvent être résolues sans état partagé ni dépendances. La capacité fondamentale est la résolution de problèmes en parallèle, en assignant un agent par domaine problématique indépendant afin de maximiser l'efficacité.
