ভাগশেষের দুনিয়া: মডুলার অ্যারিথমেটিক (পর্ব–১)

গণিত ইশকুলে বছরজুড়ে গণিত শিখি

মডুলার অ্যারিথমেটিক মূলত ভাগশেষ নিয়ে কাজ করে। কেননা, অনেক ক্ষেত্রে দেখা যায়, একটি সংখ্যা অনেক বড় হলে কোনো একটি সংখ্যার সাপেক্ষে সেই বড় সংখ্যাটির তুলনায় তার ভাগশেষ অনেক ছোট হয়। মডুলার অ্যারিথমেটিকের একটি বিখ্যাত উদাহরণ হিসেবে আমরা 12 ঘণ্টা সময়ের পদ্ধতি নিয়ে কথা বলতে পারি।

এক দিনে মোট 24 ঘণ্টা। কিন্তু দুপুর 12টার পর আমরা 13টা না বলে 1টা বলি। কেননা, 13–কে 12 দিয়ে ভাগ দিলে ভাগশেষ 1 হয়। অর্থাৎ, 24 ঘণ্টাকে 12 ঘণ্টায় রূপান্তর করা হয়েছে। এখন মনে হতে পারে, এটি সময় ছাড়া আর কোথায় ব্যবহার করা যেতে পারে? মডুলার অ্যারিথমেটিক অনেক বেশি ব্যবহৃত হয় ইন্টারনেট বা যেকোনো তথ্য নিরাপত্তার ক্ষেত্রে (যেমন- RSA Encoding)।

মডুলার অ্যারিথমেটিকে ভাগশেষ গণনা করার জন্য কিছু গাণিতিক চিহ্ন আছে। ধরি, 13–কে 12 দিয়ে ভাগ করলে 1 ভাগশেষ পাওয়া যায়, সেটাকে 13 ≡ 1 (mod 12) হিসেবে লিখা যায়, যেখানে ≡ কে সমতুল্য চিহ্ন বলা হয়। অর্থাৎ, 13–কে 12 দিয়ে ভাগ করলে ভাগশেষ হবে 1, এটিকে এভাবে পড়া যায়, “13 is congruent to 1 modulo 12”। যাকে দিয়ে আমরা ভাগ করছি, সে মডুলো। 13–কে 12 দিয়ে ভাগ করলে 1 ভাগশেষ থাকে, আবার 1–কে 12 দিয়ে ভাগ করলেও 1 ভাগশেষ থাকে। কিন্তু, দুই ভাবেই অর্থ একই থাকছে।

তাহলে a যদি একটি পূর্ণসংখ্যা হয়, আর aকে যদি কোনো প্রকৃত সংখ্যা n দিয়ে ভাগ করে ভাগশেষ b আসে, তাহলে a ≡ b (mod n)। একটু বিশ্লেষণ করলে, অর্থাৎ দুই পাশ থেকে b বিয়োগ করলে (সমীকরণের মতোই অনেকটা) ab ≡ 0 (mod n)। তাহলে a-bকে n দিয়ে ভাগ করলে ভাগশেষ 0 আসে। এখন একটা ব্যাপার স্পষ্ট করা যাক।

ধরি, a ≡ b (mod n), এখন a ± nk ≡ b (mod n), k∈Z ও বলা যায়। কারণ, nk কে n দিয়ে ভাগ করলে ভাগশেষ 0 আসে। যেটা শেষে দাঁড়ায়, a ± 0 ≡ b (mod n), বা, a ≡ b (mod n)। এই জিনিসটা অনেক ক্ষেত্রে কাজে লাগে। এবার আমরা কিছু নতুন বৈশিষ্ট্য দেখব।

যদি a ≡ b (mod n) হয় তবে,

·        a + k ≡ b + k (mod n), k∈Z

·        ak ≡ bk (mod n), k∈Z

·        ak ≡ bk (mod nk), k∈Z

সাধারণ সমীকরণের মতোই অনেকটা। আবার, a1 ≡ b1 (mod n) ও  a2 ≡ b2 (mod n) হলে a1 ± a2 ≡ b1 ± b2 (mod n) ও a1a2 ≡ b1b2 (mod n) হবে। উদাহরণ হিসেবে ধরি, 13 ≡ 1 (mod 12) আছে।

তবে, 13 + 2 ≡ 1 + 2 (mod 12)

বা, 15 ≡ 3 (mod 12) কিন্তু সত্য।

আবার, 13 × 2 ≡ 1 × 2 (mod 12) বা 26 ≡ 2 (mod 12)

এবার আরেকটি গুরুত্বপূর্ণ বৈশিষ্ট্য নিয়ে আলোচনা করা যাক:

a ≡ b (mod n) হলে ak ≡ bk (mod n) যেখানে k যেকোনো অঋণাত্মক সংখ্যা। ধরি, যদি বলা হয়, 74 কে 3 দিয়ে ভাগ করলে ভাগশেষ কত হবে? এখন 74 এর মান বের করে সেটাকে 3 দিয়ে ভাগ করা কষ্টসাধ্য। আমরা এটিকে মডুলার অ্যারিথমেটিক দিয়ে সমাধান করব। আমরা আসলে চাই, 74 ≡ ? (mod 3)

আমরা এটিকে ধাপে ধাপে করার চেষ্টা করব।

      7 ≡ 4 (mod 3)

বা, 72 ≡ 42 (mod 3)

বা, 72 ≡ 16 ≡ 1 (mod 3) [∵ 16 ≡ 1 (mod 3)]

বা, (72)2 ≡ 74 ≡ 14 ≡ 1 (mod 3)

তার মানে 74 কে 3 দিয়ে ভাগ করলে ভাগশেষ 1 হবে।

যদি আরও বড় সংখ্যা দেওয়া হতো, তখনো আমরা এভাবে সহজেই বের করে ফেলতে পারব। এখন যদি বলা হয় যে 9100 এর শেষ অঙ্ক কত? শেষ অঙ্ক বলতে কোনো সংখ্যাকে 10 দিয়ে ভাগ করলে ভাগশেষ কত আসে, তাই বের করতে হবে। অর্থাৎ, 9100 ≡ ? (mod 10)

এখন খেয়াল করি, 9 ≡ -1 (mod 10) কেননা, a ± nk ≡ b (mod n) থেকে পাই, 9 ≡ 9 - (10 × 1) = -1 (mod 10)

এখন যেহেতু, (-1)100 = 1, তাই সরাসরি, 9100 ≡ (-1)100 ≡ 1 (mod 10) অর্থাৎ, 9100 এর শেষ অঙ্ক 1।

যেহেতু ভাগশেষ +1 বা -1 ধরনের এসেছে, তাই সরাসরি করা গিয়েছে, না হলে হয়তো ধাপে ধাপে করা লাগত। তাহলে আজ এ পর্যন্তই। দেখা হবে পরবর্তী এক পর্বে।