トップ > 自作ソフト > Excelで数独解析ソフト

Excelで数独解析ソフト2010.08.30 [更新日]2024.05.01

Information

  • 2024/05/01 250問連続解析サンプルソフト更新 最新コード(ver.3.0.3)公開
  • 2024/04/24 250問連続解析サンプルソフト更新 最新コード(ver.3.0.2)公開
  • 2019/08/01 250問連続解析サンプルソフト更新 最新コード(ver.3.0.1)公開
  • 2018/06/27 250問連続解析サンプルソフト更新 250問を0.1562秒で解析
  • 2018/06/27 最新コード公開。最新バージョン3.0.0のコード(抜粋)を公開しました。
  • 2017/07/31 最新コード公開。最新バージョン2.3.0のコードを公開しました。
  • 2015/06/15 最新コード公開。最新バージョン2.2.2のコードを公開しました。
  • 2014/09/05 250問連続解析サンプルソフト更新 250問を0.21875秒で解析
  • 2013/03/12 バージョンアップ 解析速度向上。解析時に稀に起こる不具合修正
  • 2012/10/30 バージョンアップ 解析時に稀に起こる不具合修正
  • 2012/08/11 バージョンアップ 解析速度向上。フォントサイズ変更。世界最速への挑戦
  • 2011/12/20 バージョンアップ 解析速度向上正
  • 2011/10/13 バージョンアップ 解析時に稀に起こる不具合修正
  • 2011/08/27 バージョンアップ 解析機能向上。公開コード変更
  • 2011/01/20 バージョンアップ 解析時に稀に起こる不具合修正。公開コード変更
  • 2010/12/08 バージョンアップ 解析機能向上。解析レポート表示追加。公開コード変更
  • 2010/09/01 バージョンアップ 高速化「世界一難しい数独」を0.1秒で解析!コード公開
  • 2010/08/30 公開 「世界一難しい数独」を1秒で解析!

ソフト概要

Excelで9×9の数独を解析するソフトです。

2010年8月にフィンランドの数学のエキスパートが「世界一難しい数独」を作りました。[詳細]
その数独を高速で解くべく作成したソフトです。難しい数独を解く手助けになると思います。

Ver.2.2.0 ダウンロード

ソースコードを公開しています。興味のある方はどうぞ。 ソースコード(ver.3.0.3)
※Version 3 のコードは、ソフトには未実装です。


ソフトの特徴

シンプルさと解析速度に徹底的にこだわりました。

●約70kbのファイルサイズ
 シンプルさと使いやすさを追求した結果、ファイルサイズは約70kbです。

●シンプルな設計
 数値をマスに入力し、「解析」ボタンを押すだけです。

●仮定法の使用選択可能
 仮定法の使用・不使用を設定出来ます。
 ・使用・・・解析可能な問題を最後まで解析。解析時間、複数解の有無を表示。
 ・不使用・・通常のルールで解ける範囲で解析し、後は可能性のある数字を全て表示。

●超高速解析
 先の「世界一難しい数独」の解析は0.02秒未満※です。
 また「ヒントのない問題」の解析でも、0.07秒未満※です。
 ※Windows Vista / Intel(R) Core TM 2 Duo CPU 2.66GHz / Excel2003 での結果


高速化への挑戦

Excelで作成した数独解析ソフトの中で、世界でも最速レベルの解析速度だと自負しています。
最新のコード -3.0.3-は、一般的な事務用PCで、数独250問の連続解析を0.2秒未満に終了します。
VBAの限界を引き出す挑戦を続けています。 コード -3.0.3-

250問連続解析サンプルソフト ダウンロード


解析コードDLL化

解析コード(Ver.2.3.0)をDLL化してみました。速度比較検証とDLLファイルはこちら


動作確認

OS:Windows7/8/10/11
Excel:2007/2010/2013/2016/2019/2021/M365
 
上記での動作は確認済みです。
 ・Macには対応していません。

書籍紹介

知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。
※ 第1章~5章まで公開しています

ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.